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 ...
随机推荐
- 【welcome-file-list】让默认页生效
<welcome-file-list> <welcome-file>404.html</welcome-file> <welcome-file>/vie ...
- 【c3p0】目前使用它的开源项目有Hibernate,Spring等
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. c3p0与dbcp区别 JNDI ...
- ASP.NET Mvc Razor视图语法
在ASP.NET MVC中有两套模版引擎,一套是ASPX,一套是Razor,从事过WebForms开发的朋友们,对于ASPX模版已经很熟悉了,下面我说一下我所熟悉的Razor模版引擎的一些语法,供大家 ...
- hdu 1403 Longest Common Substring(最长公共子字符串)(后缀数组)
http://acm.hdu.edu.cn/showproblem.php?pid=1403 Longest Common Substring Time Limit: 8000/4000 MS (Ja ...
- 取得inputStream的长度
1.网络下载文件 URL url = new URL(strUrl); HttpURLConnection httpconn = (HttpURLConnection)url.openConnecti ...
- Hadoop NameNode is not formatted.
2014-08-26 20:27:22,712 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered except ...
- 事件——《JS高级程序设计》
一. 事件流 1. 事件流描述的是从页面中接收事件的顺序 2. 事件冒泡(event bubble):事件从开始时由最具体的元素(就是嵌套最深的那个节点)开始,逐级向上传播到较为不具体的节点(就是Do ...
- 在C#中关于excel的导入和导出操作
一.先来看看最常见的导入操作吧! private void Import() { //打开excel选择框 OpenFileDialog frm = new OpenFileDialog(); frm ...
- php-- 避免表单的重复提交
用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题.我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交. 1.使用客户端脚本 提 ...
- 保护模式下pmtest1.asm的理解
整个代码对应内存线性地址分为四段,[gdt] [code32] [video32] [code16] 代码先在实模式[code16]下运行,code16中的cs就是系统分配的该程序物理地址的基址. 编 ...