字典:
key:value形式存储,
key:不可变(可哈希)的数据类型
value:任意数据类型,对象。
大量的数据,关系型数据。查询速度非常快
python3.5包含3.5之前,字典无序的。
python3.6以后,字典是有序的。
dic = {'name':'taibai'}
增:
dic['age'] = 18 # 有责改之,无责增加
dic.setdefault(key,value) # 有则不变,无责增加
删:
pop 按照键去删除 有返回值
dic.pop('name2',None)
clear 清空
del
del dic['name']
del dic
popitem() 有返回值
python3.5包含3.5之前,字典无序的。 随机删除
python3.6以后,字典是有序的。 默认删除最后一个。
改:
dic['name'] = 'alex'
update(字典)
update(sex='man')
查:
按键去查
dic['name']
dic['name1']
dic.get('name')
dic.keys() dic.values() dic.items() 都可以遍历,都可以转化成list
a = 10
b = 20
a,b = b,a
for k,v in dic.items():
print(k,v)
------------------------------------------------------------------------------------------------------------------------
一 代码块
if True while: for i in ‘57878484’
print() print() print()
虽然上面的缩进内容都叫代码块,但是它们不是python中严格定义的代码块。
*****python中真正意义的代码块是什么?
一个模块, 一个函数, 一个类,一个文件等 都是一个代码块。
def func() class A:
print() name = ‘alex’
交互模式下,每一行就是一个代码块,比如说电脑的 cmd
l1= 100 可以理解这一行在一个文件中
l2 = 100 可以理解这一行在另一个文件中。
二 id is
name = ‘alex123’
name1 =‘alex123’
print(id(name),id(name1)) 内存地址= 内存地址
在内存中id都是唯一的,如果两个变量指向的值 的 id相同,就证明他们是在同一一个内存当中。
is 判断的是两个变量的id值是否相同。
如果is 是True , == 一定是 True
三 小数据池 (也叫 缓存机制, 驻留机制)
小数据池的应用的数据类型: 整数, 字符串, bool值
小数据池,python对内存做的一个优化
它将 -5 ~ 256的整数, 以及一定规则的字符串,提前在内存中创建了池,容器。
在一个容器里固定的放了这些数。
why?
1 节省内存。
2提高性能与效率
编码 和解码
encode 和 decode