局部变量优先使用
没有局部变量,默认使用全局变量
global声明全局变量
globals获取全局变量(无论在函数内部或外部) locals获取全局变量(只获取所在函数的变量)
局部变量优先使用
没有局部变量,默认使用全局变量
global声明全局变量
globals获取全局变量(无论在函数内部或外部) locals获取全局变量(只获取所在函数的变量)
删除键之后访问:KeyError
删除字典:name *** is not defined
pop 删除指定键值对,返回删除后的值
popitem 弹出最后一个/次
修改1:info["ss"]=10
修改2:info.update({"id"=1})
另一种写法,update(age=20) age作为参数,而不是字典的键
pass函数在定义时用到的空语句 有默认值的参数写在后面
return结束了函数的执行
交集&(取共有的部分) 并集|(去重后的全部数据)差集- 异或集^(除去交集的剩下部分) 检查是否为子集<=(结果为True False) <检查真子集 .isdisjoint()检查是否相交
frozenset()冰冻集合不能做修改
字典集合不能通过访问下标取到值
dict[“key”]=value这种给字典赋值的方式不会改变字典的ID
dict={“key”:value}这种会改变字典的ID
集合set 无序无重复的元素集合 只能存放不可变元素 列表与字典不能放入其中
空集合:()小括号元组 {}大括号里面有键值对就是字典 set()是集合 没写是元组
增:.add() .update()将字符串添加到集合中 会分开,添加一个集合
删:.clear(清空集合中的元素) .pop随机弹出一个元素有返回值 .remove()删除一个元素(移除不存在元素会报错 ).discard()删除一个元素不会报错
改:只能先删后增.remove .add
应用:列表去重,但是要注意顺序会被打乱
局部变量优先
在函数中修改全局变量
global a
实际参数、位置参数
*args可变参数
**kwargs关键字参数
多个变量打包成元组或字典
关键字参数后不能在使用位置参数
*表示后面的参数必须用关键字命名赋值
函数名+()即可调用
调用时:指定参数名赋值
函数:定义def
字典dict:无序集合 储存数据类型不可变不重复
{"" :"",}
.get( ,)没找到对应的键,默认返回:None,默认值只有在没找到时才生效
{}.fromkeys(,)以列表中的元素内容作为键,创建字典:值默认为None
增:
删:del,pop(通过键,删除指定键值对:会返回值)删除一个不存在的键会报错,popitem直接删除最后一个键值对
改:.update(指定的键存在,更新:指定的键不存在,新增)
查:i循环只能拿到键,.keys()(将元组里的键组成一个列表,得到所有键).values()(得到所有值).items()(得到所有键值对)
无序,去重
只能存放不可变的元素(元组可以)
增:add()
将指定序列加入(列表、字符串)
update()
删:clear()
remove()
pop()
discard()
改:先删再增
info = {} 空字典
info["name"]
info.get("age","默认值")
列表创建字段
增(连接)
删(删除整个元组):del
改(无)
查:切片
a = 10
小票(地址) = 包裹
浅拷贝:复制一个小票(地址)
深拷贝:
列表创建、访问、切片
list(‘akjds’)
list(range(0,,223))
列表推导式:
比大小:max(),min(),数值bool之间比,字符串之间比
sum()数值元素之间
判断类型:
isspace()字符串只包含空白(\r\n\t),返回true,否则false
isalpha () 字符串至少有一个字符并且所以字符都是字母,返回true
isalnum() 字符串至少有一个字符并且所以字符都是字母或数字,返回true
isdecimal() 检测字符串是否以数字(纯数字)组成
isdigit() 字符串只包含数字,返回true
isnumeric()字符串中只包含数字字符,罗马数字、汉字数字ok
长度填充
len()
center(i,‘*’)填充后个数,
编码和解码:
max:字符串中编码最大的字母
min:字符串中编码最小的字母
chr()编码转字符
ord()字符转编码
编码:str_utf-8 = str.encode(“UTF-8”)
解码:str_utf-8.decode('UTF-8','strict')
字符串拼接:+、*、换行\
字母转换:
统计和查找:
判断开头与结尾:
分割与拼接:split、rsplit
join
去掉与替换:
strip、lstrip、rstrip