pytho
字符串格式化:求模操作符%可以用来将其他值转换为包含转换标志的字符串,对值进行不同方法的格式化,左右对齐,字段宽度精度,增加符号,左填充数字
字符串方法join split istitle capitalize
将值分组到一个结构,并且通过编号对其进行引用
通过名字 引用值 数据结构
数据类型--映射mapping
字典Dictionary是python中唯一内建映射类型
字典中值并没有特殊的顺序,但是值都存储在一个特定的建Key
键可以是数字,字符串 ()元组
字典进行构造,轻松查到某个特定的词语-键,从而找到它的定义-值
表征游戏棋盘状态,每个键都是由坐标值构成的元组
存储文件修改次数,用文件名作为键
找到索引号
list.index()
为何不用字符串而不用整数表示电话号码?
电话号码(以及其他可能以0开头的数字)应该表示为数字字符串,而不是整数
创建和使用字典
字典由多个键及与其对应的值构成的对组成
键值对 称为项
名字是键,电话号码是值
每个键和它的值之间用冒号(:)隔开
键值对项用,隔开
整个字典是由一对大花括号括起来
空字典{}
字典创建的方法
键值对 = 项
phonebook = {'Alice':'2341','Beth','Cecil':'3258'}
dict
items = [('name','Gumby'),('age','42')]
d = dict(items)
d = dict(name='qinrui',age='42')
字典的基本行为在很多方面与序列sequence
len(d) 返回字典中键值对项的数量
d[k] 返回关联到键上的Value
d[k] = v将值关联到键
del d[k] 删除指定键 对应的项
key in dictionary 检查判断d中是否含有键为k的项
键类型:字典的键不一定为整型数据,也有可能是其他不可变类型,浮点实数字符串元组
自动添加:即使那个键在字典中不存在,也可以为它分配一个值,这样字典就会建立新的项
不使用append方法或其他类型操作的情况下 不能将值关联到列表范围之外的索引
成员资格:表达式k in d 查找的是键,而不是值
v in l list
用来查找值,而不是索引字典含有指定的键,查找相应的值就很容易
字比典中检查键的成员
键可以为任何不可变类型-是字典最强大
list assignment index out ofo range
将字符串'Foobar'关联到一个空列表 位置根本不存在
用[None]*43初始化将'Foobar'关联到空字典的键42上
新的项已经添加到字典
使用人名作为键的字典,每个人用另一个 其键phone addr分别表示他们的电话号码地址
在每个convert说明符conversion specifier中的%字符后面 可以加上键 用圆括号括起来 后面跟上其他说明元素
字典的格式化字符串
如何使用字典而不是元组来完成 在每个转换说明符conversion specifier中的%字符后面,可以加上键 % 后面加上键用圆括号 括起来 在后面跟上其他格式类型说明符号
字典字符串格式化
%(字典的键)s s 是格式化的类型说明符号
clear 清除字典中所有的项remo字典不受影响,但是如果修改了某个值
在副本中替换值的时候,原先
原地修改,而不是替换,原先的字典也会改变,因为同样的值也存储在原先的字典中
shallow copy deep copy
copy模块的deepcopy函数完成
字典的 键是普通的字符串 值是列表类型
d['names'] 返回的是一个列表 ,列表可以使用append()
fromkeys使用给定的键建立新的字典,每个键默认对应的值为None
dict.fromkeys(['name','age'])
如果不想使用None作为默认值,也可以自己提供默认值
get更宽松的会出访问字典项的方法,如果试图访问字典中不存在的项
dict.get('key')访问一个不存在的键 没有任何异常,而得到None,还可以自定义"默认"值,替换None
items方法将所有的字典项以列表方式返回,列表项中的每一项都来自于-键值,项在返回时并没有特殊的顺序
keys和iterkeys
keys方法将字典中的键以列表形式返回,而iterkeys则返回针对键的iter
pop方法用来获得对应用给定键的值,然后将这个键-值对从字典中移除
popitem方法类似于list.pop 后者会弹出列表的最后一个元素,不同的是 popitem弹出随机的项,因为字典中并没有最后的元素或者其他有关顺序的概念,若想一个接一个地移除并处理项,这个方法就非常有效,因为不用首先获取键的列表
d.pop('key') 删除指定键的值
d.popitem() 随机取删除键值对
字典是无序的append
setefault方法在某种程度上类似于get方法,就是能够获得与给定键相关联的值,除此之外
获取与给定键相关联的值
setdefault还能在字典中不含有给定键的情况下设定相应的键值对
当键不存在的时候,setdefault返回默认值并且相应地更新字典
如果键存在,那么就返回与其对应的值,但不改变字典,默认值是可选的
setdefault方法在某种程度上类似于get,就是能够获得与给定键相关联的值,setdefault还能在字典中不含有给定键的情况下设定相应的键值对
update方法可以利用一个字典项更新另外一个字典
values和itervalues
values方法以列表形式返回字典中的值(itervalues返回值的迭代器)
映射可以使用任何不可变对象标识元素,最常见的类型是字符串和元组
利用字典格式化字符串:通过在格式化说明符中包括名称-键来对字典应用字符串格式化操作
当在字符串格式化中使用元组,还需要对元组
深入 自以为已经掌握的知识,还隐藏着惊讶的特性
logging mode 记录日志
使用逗号输出
print打印表达式,不管是字符串还是其他类型进行自动转换后的字符串,但是事实上打印多个表达式也是可行的,只有将他们用逗号隔开就好
每个参数之间都
print 语句 还是函数
print参数并不能像我们预期那样构成一个元组
想同时输出文本和变量值,却又不希望使用字符串格式化
结果中怎么带逗号
import somemodule
from somemodule import somefunction
from somemodule import somefunction.anotherfunction.yetanotherfunction
from somemodule import somefunction,anotherfunction,yetanotherfunction
from somemodule import *
只有确定自己想要从给定的模块所有功能,才应该使用最后一个版本,但是如果两个模块都有open函数
module1.open()
module2.open()
但还有另外的选择,可以在语句末尾增加一个As子句,或为整个模块提供别名
可以为导入的模块,函数 设置别名
from module1 import open as open1
from module2 import open as open2
赋值魔法
序列解包
赋值语句的列子已经给过 对变量和数据结构成员,列表中的位置和分片以及字典中的槽赋值
sequence unpacking 序列解包可迭代解包 ,将多个值的序列解开,然后放到序列
当函数或者方法返回元组(或者其他序列或可迭代对象),假设需要获取(删除)字典中任意键值对,可以使用popitem,方法将键值对作为元组返回
popitem返回的 元组可以直接赋值到两个变量中
pytho的更多相关文章
- pytho创建二维码简单版
pytho创建二维码简单版 import qrcode aa = qrcode.make("https://github.com/phygerr/") aa.save('C:\Us ...
- pytho线程信号量
pytho线程信号量 import threading,time def going(num,sleep_time): semaphore.acquire()#启动允许执行 print("g ...
- pytho简单爬虫_模拟登陆西电流量查询_实现一键查询自己的校园网流量
闲来无事,由于校园内网络是限流量的,查询流量很是频繁,于是萌生了写一个本地脚本进行一键查询自己的剩余流量. 整个部分可以分为三个过程进行: 对登陆时http协议进行分析 利用python进行相关的模拟 ...
- caffe pytho接口
一:搭建Caffe 1.下载happynear的Caffe源码https://www.github.com/happynear/caffe-windows,第三方库3rdparty文件http://p ...
- pytho day6 <正则表达式、常用模块、反射>
本节介绍: 一:正则表达式: 正则表达并不是python 独有的.在各个语言里都有该语法的介绍.正则表达是处理字符串的强大的处理工具.拥有自己的独特的 处理方法.和处理引擎.虽然性能没有python ...
- Pytho实现tail -f
实现Python版的tail -f功能 tail -f 的功能非常好用.我们用Python也可以实现这样的功能.实现的原理是通过Python版本的inotify获得文件的更新消息,从而读取更新的行.p ...
- Pytho中两种方式导入模块的差别
1.使用import module,只是把模块导入,访问模块中的函数名或者是属性是必须使用点运算符(.)来访问,否则直接访问会提示找不到这些函数或者属性. 2.使用from numpy import ...
- pytho查找斐波那契序列中的值
''' 实现斐波那契序列,查找其中第N个数的值 ''' def FeiBSequence(list,N): length=len(list); i=0; while i<length: if N ...
- pytho核心编程2-1中代码运行问题
书籍是<python核心编程>第三版,学习环境py3.6 2-1 时间戳服务器 附源代码: from socket import * from time import ctime HOST ...
随机推荐
- protel DXP的类矢量图功能
一.概述 在写论文的过程中,我们经常需要将protel DXP上的原理图贴入到WORD中.我们可以选择使用截图工具,然后再导入到WORD中.但是由于普通截图图形文件都是位图文件,当我们将图形文件导入W ...
- Lucene基础(四)-- 结合数据库使用
需求 很多时候我们在用数据库的需要使用模糊查询,我们一般会使用like语句来做,然而这样的做的效率不是很多(很抱歉我们亲自去测,很多都这么说的),那么使用Lucene来检索的话,效率会高很多. luc ...
- Memcached(四)Memcached的CAS协议
1. 什么是CAS协议很多中文的资料都不会告诉大家CAS的全称是什么,不过一定不要把CAS当作中国科学院(China Academy of Sciences)的缩写.Google.com一下,CAS是 ...
- POJ 3308 Paratroopers(最小割EK)
题目链接 题意 : 有一个n*m的矩阵,L个伞兵可能落在某些点上,这些点的坐标已知,需要在某些位置安上一些枪,然后每个枪可以将一行或者一列的伞兵击毙.把这种枪安装到不同行的行首.或者不同列的列首,费用 ...
- 弱安全协议探测工具-sslciphercheck
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为 网络通信提供安全及数据完整性的一种安全协议.TLS ...
- Android WebView 开发详解(一)
转载请注明出处 http://blog.csdn.net/typename/article/details/39030091 powered by meichal zhao 概览: Android ...
- HDU 4288 Coder 【线段树+离线处理+离散化】
题意略. 离线处理,离散化.然后就是简单的线段树了.需要根据mod 5的值来维护.具体看代码了. /* 线段树+离散化+离线处理 */ #include <cstdio> #include ...
- IPv6 tutorial – Part 5: Address types and global unicast addresses
https://4sysops.com/archives/ipv6-tutorial-part-5-address-types-and-global-unicast-addresses/ In my ...
- bzoj2756
看到相邻格子都+1的操作一下就想到黑白染色了相邻格子都+1说明不管怎么弄,黑格子的总和和白格子总和的差总是定值这里首先要注意,最后不一定变成的是所有元素中的最大值,可能比它大比如 1 2 2 ...
- cogs_396_魔术球问题_(最小路径覆盖+二分图匹配,网络流24题#4)
描述 http://cojs.tk/cogs/problem/problem.php?pid=396 连续从1开始编号的球,按照顺寻一个个放在n个柱子上,\(i\)放在\(j\)上面的必要条件是\(i ...