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 ...
随机推荐
- C语言之广度优先算法
广度优先算法又称宽度优先搜索,是一种简便的图的搜索算法之一.搜索方式大致是这样的: 直到搜索到目标结点(结点就是那些圆球球,其中有一个或者多个是目标结点)或者搜完了整个图都没找到目标结点就停止搜索. ...
- Compass 使用手册
在EDM中使用基准 定义和基准相关的术语 这一段定义了基准术语.可以在属性对话框中知道 项目属性 系统基准 系统基准在项目属性里设置,并且值为0.它 ...
- Android java.lang.ClassCastException
lassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这种 ...
- Android WebView 开发详解(二)
转载请注明出处 http://blog.csdn.net/typename/article/details/39495409 powered by miechal zhao 概览: Androi ...
- ide远程调试
这篇写得好:http://qifuguang.me/2015/09/18/IntelliJ%E8%BF%9C%E7%A8%8B%E8%B0%83%E8%AF%95%E6%95%99%E7%A8%8B/
- in on at 总结
in,on,at的时间用法和地点用法 一.in, on, at的时间用法 ①固定短语: in the morning/afternoon/evening在早晨/下午/傍晚, at noon/night ...
- vs2010+ Ankhsvn使用详解
1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Serve ...
- 【HDOJ】3480 Division
斜率dp+滚动数组. /* 3480 */ #include <iostream> #include <sstream> #include <string> #in ...
- tlplayer,wzplayer所有平台通用加密测试视频
此视频文件为通用版本,支持tlplayer,wzplayer,能在ios,android,windows,mac等平台上使用,发布此文件紧为方便用户测试. 下载地址:http://www.coolra ...
- c/c++ void 指针
原文 : http://blog.csdn.net/yyyuhan/article/details/3153290 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使 ...