字符串格式化:求模操作符%可以用来将其他值转换为包含转换标志的字符串,对值进行不同方法的格式化,左右对齐,字段宽度精度,增加符号,左填充数字

字符串方法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的更多相关文章

  1. pytho创建二维码简单版

    pytho创建二维码简单版 import qrcode aa = qrcode.make("https://github.com/phygerr/") aa.save('C:\Us ...

  2. pytho线程信号量

    pytho线程信号量 import threading,time def going(num,sleep_time): semaphore.acquire()#启动允许执行 print("g ...

  3. pytho简单爬虫_模拟登陆西电流量查询_实现一键查询自己的校园网流量

    闲来无事,由于校园内网络是限流量的,查询流量很是频繁,于是萌生了写一个本地脚本进行一键查询自己的剩余流量. 整个部分可以分为三个过程进行: 对登陆时http协议进行分析 利用python进行相关的模拟 ...

  4. caffe pytho接口

    一:搭建Caffe 1.下载happynear的Caffe源码https://www.github.com/happynear/caffe-windows,第三方库3rdparty文件http://p ...

  5. pytho day6 <正则表达式、常用模块、反射>

    本节介绍: 一:正则表达式: 正则表达并不是python 独有的.在各个语言里都有该语法的介绍.正则表达是处理字符串的强大的处理工具.拥有自己的独特的 处理方法.和处理引擎.虽然性能没有python ...

  6. Pytho实现tail -f

    实现Python版的tail -f功能 tail -f 的功能非常好用.我们用Python也可以实现这样的功能.实现的原理是通过Python版本的inotify获得文件的更新消息,从而读取更新的行.p ...

  7. Pytho中两种方式导入模块的差别

    1.使用import module,只是把模块导入,访问模块中的函数名或者是属性是必须使用点运算符(.)来访问,否则直接访问会提示找不到这些函数或者属性. 2.使用from numpy import ...

  8. pytho查找斐波那契序列中的值

    ''' 实现斐波那契序列,查找其中第N个数的值 ''' def FeiBSequence(list,N): length=len(list); i=0; while i<length: if N ...

  9. pytho核心编程2-1中代码运行问题

    书籍是<python核心编程>第三版,学习环境py3.6 2-1 时间戳服务器 附源代码: from socket import * from time import ctime HOST ...

随机推荐

  1. linux系统管理

    系统 # uname -a               # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue   # 查看操作系统版本# cat /proc/cpuinfo  ...

  2. android下拉选择框spinner

    spinner是什么东西呢?有点像下拉菜单,其实是一个弹出窗口,但是是可以进行进一步操作的弹出窗口.你点击那个三角形的符号,弹出一个窗口,通常是列表,然后进行操作. 它在xml文件中的定义和其它控件没 ...

  3. Java中的编码

    package coreJava; import javax.swing.plaf.synth.SynthSpinnerUI; public class EncodeDemo { public sta ...

  4. PHP漏洞全解(五)-SQL注入攻击

    本文主要介绍针对PHP网站的SQL注入攻击.所谓的SQL注入攻击,即一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据库查询代码,根据程序返 ...

  5. WEB黑客工具箱之LiveHttpHeaders介绍

    一.LiveHttpHeaders之安装 自行百度 二.LiveHttpHeaders主窗口 根据我们目的的不同,LiveHttpHeaders有两种启动方法:当我们只想监视通信量的时候,可以从浏览器 ...

  6. Firefly是什么?有什么特点?

    原地址:http://bbs.gameres.com/forum.php?mod=viewthread&tid=219285 Firefly是免费.开源.稳定.快速扩展.能 “热更新”的分布式 ...

  7. ***微信浏览器禁止app下载链接怎么办

    通过扫描二维码下载APP已成为一个非常方便的方式,微信也成为扫描二维码重要的工具,但是扫描后微信浏览器会对APK和appStore的链接进行屏蔽,导致用户无法正常下载.本文提供两个迂回的解决方案:1. ...

  8. Foundation和UIKit框架图

    学习Foundation和UIKit的时候比较容易忽视的一个问题: 对于一个新的类,知道它的用法和属性方法,但往往忽视了它的继承关系, 了解类的继承关系能帮助加深对其理解. 另外在官方文档中每一个类的 ...

  9. HDU Traffic Real Time Query System

    题目大意是:对于(n, m)的图,给定边a, b查询从a到b要经过的割点的最少数目. 先tarjan算法求双连通然后缩点,即对于每个割点将周围的每个双连通看成一个点与之相连.然后求解LCA即可,距离d ...

  10. linux如何安装jdk

    一.安装 创建安装目录,在/usr/java下建立安装路径,并将文件考到该路径下: # mkdir /usr/java 1.jdk-6u11-linux-i586.bin 这个是自解压的文件,在lin ...