Python字典及基本操做
若是单纯使用两个列表来保存某组数据,则没法记录两组数据之间的关联关系,为了保存具备映射关系的数据,Python 提供了字典,字典至关于保存了两组数据,其中一组数据是关键数据,被称为 key;另外一组数据可经过 key 来访问,被称为 value。形象地看,字典中 key 和 value 的关联关系如图 1 所示:
因为字典中的 key 是很是关键的数据,并且程序须要经过 key 来访问 value,所以字典中的 key 不容许重复。程序既可以使用花括号语法来建立字典,也可以使用 dict() 函数来建立字典。实际上,dict 是一种类型,它就是 Python 中的字典类型。在使用花括号语法建立字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英文冒号隔开;多个 key-value 对之间用英文逗号隔开。python

字典包含多个 key-value 对,而 key 是字典的关键数据,所以程序对字典的操做都是基于 key 的。基本操做以下:函数
字典的经常使用用法spa
get()方法
get() 方法其实就是根据 key 来获取 value,它至关于方括号语法的加强版,当使用方括号语法访问并不存在的 key 时,字典会引起 KeyError 错误;但若是使用 get() 方法访问不存在的 key,该方法会简单地返回 None,不会致使错误。例如以下代码:3d

update()方法
update() 方法可以使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,若是被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;若是被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。例如以下代码:指针

items()用于获取字典中的全部 key-value 对、全部 key、全部 value。返回 dict_items对象,Python 不但愿用户直接操做这几个方法,但可经过 list() 函数把它们转换成列表。以下代码示范了这个方法的用法:orm

python中元祖的用法对象
元组(tuple):小括号定义元祖,存储任意类型数据,但其内数据不可变。元组不可变,其内的列表中的元素能够变。元祖只有一个值时,要加逗号,代码不想被人修改,就定义元祖。blog
一、元祖数据不能被修改ip

二、遍历循环
可使用for循环实现元组的遍历
pytnon 中字符串的经常使用方法
count:字符出现次数

index、find:下标,能够指定位置找,find 能够找字符串下标

去空格的 3 种用法:
strip()方法:去除字符串先后(左右侧)的空格或特殊字符
lstrip()方法:去除字符串前面(左侧)的空格或特殊字符
rstrip()方法:去除字符串前面(右侧)的空格或特殊字符 
s.split()分割字符串,默认每一个词之间换行符或者空格分割、\n,也能够指定字符串进行分割,若是指定分割的元素不存在,分隔符不会报错,会不进行分割直接当成一个字符串

a.join():用来链接 list 里面的每一个元素的

切片:list范围取值的一种方式,切片时顾头不顾尾

若是为负数的,取值的时候从右往左开始取值,同时步长应为负数print(l[-1:-3:-1])
下面了解
# format:字符串格式化
# upper:全部变成大写
# lower:全部变小写
# zfill:补 0 的,如 12 补 4 位就是 0012
# isdigie:判断字符串是不是纯数字
# endswith:判断是以什么结尾的
# stratswith:判断已什么开头的
# center:字符串居中,位数不够还能够用指定字符串补齐,如 100 个居中用==补齐
# 就是字符换放中间已指定字符串补齐:==100 个==
# title:检查标题是否大写
# isspace:校验传入字符串是否所有都是字符串
# islowe:是判断否所有都是小写
# isupper:判断否所有都是大写
深拷贝、浅拷贝
数字和字符串中的内存都指向同一个地址,因此深拷贝和浅拷贝对于他们而言都是无心义的,对于字典 元组 和列表来讲,进行浅拷贝和深拷贝时,内存的地址是不一样的,
浅拷贝只会拷贝内存中的第一层数据

而对于深拷贝来讲将会把全部数据从新建立,当不想改变被拷贝的值时 应该使用深拷贝

非空即真,非 0 即真
1,非空即真(只要有内容就是true)
例:
name=input('请输入名称').strip()
if name=='':
print('name不能为空')
#输入的name去掉空格,若是为空,提示'name不能为空'。
#把这个例子改为非空格式。名字非空,提示正确。名字是空,提示错误。
方式一:
name=input('请输入名称').strip()
if name!='':
print('输入正确')
else:
print('name不能为空')
方式二:
name=input('请输入名称').strip()
if name: #效果和方式一同样。非空即真,因此只要输入非空的内容就是真,就打印输入正确。
print('输入正确')
else:
print('name不能为空')
空,包括如下类型的空:
a='' 空字符串
l=[] 空list
t=() 空元组
d={} 空字典
b=None 例如函数的返回值none
2,非零即真(只要不是0就是true)
name=input('请输入名称').strip()
name=int(name) #例如输入1,能够转成整型,非零,为真,提示正确。输入0,转成整型为0,为假提示错误
if name:
print('输入正确')
else:
print('name不能为空')
操做文件
# 遇到路径打开时,前面要加'r'防止其余字符转义
# open('a.txt')三种模式:w(写) r(读) a(追加)
# 若是文件有中文的话要加 encoding='utf-8'
# f=open('上课练习','r',encoding='utf-8')
# result=f.read()
# 一、可读所有
# 二、不可写
# 三、只读所有以 list 列表形式
# 四、只读一行
#
# 课练习','r',encoding='utf-8')
# result=f.write()
# 一、不可读
# 二、可写
# 三、写了之后,会把以前的内容覆盖掉
# 四、用writelines:不会覆盖掉内容,但必须是 str 格式的
# a (追加)模式
# 一、不能读,只能写
# 二、文件不存在,能够建立新的文件
# 三、文件存在,直接在文件末尾添加
文件指针seek的使用
python中可使用seek()移动文件指针到指定位置,而后读/写。一般配合 r+ 、w+、a+ 模式,在此三种模式下,seek指针移动只能从头开始移动,即seek(x,0) 。

seek(x,0):表示指针从开头位置移动到x位置
seek(x,1):表示指针从当前位置向后移动x个位置
seek(-x,2):表示指针从文件结尾向前移动x个位置
例:file.seek(-1,2),文件指针从文件末尾向前移动一个字符,配合read相关方法/函数可读取该字符。