变量作用域
局部变量提升为全局变量
- global将变量转换为全局变量
- local将变量转换为局部变量
- globals()查看所有全局变量
- locals()查看所有局部变量
# global实例
def fun():
global a
a = 10
print(a)
print(a)
fun()
10
10
eval()函数
- 将字符串当成表达式运行
exec()函数
- 字符串当成表达式执行,无返回结果
递归函数
- python中有递归深度的限制,最大为12层
- 必须要有递归出口
# 汉诺塔递归
def hnt(n,a,b,c):
"""
n表示盘子的总数
a表示塔A
b表示塔B
c表示塔C
"""
if n == 1:
print(a,"-->",c)
return
# if n == 2:
# print(a,"-->",b)
# print(a,"-->",c)
# print(b,"-->",c)
# return
hnt(n-1,a,c,b)
print(a,"-->",c)
hnt(n-1,b,a,c)
a = "A"
b = "B"
c = "C"
n = 2
hnt(n,a,b,c)
A --> B
A --> C
B --> C
List列表
- del:删除
- 列表相加:a+b
- 列表相乘:a*2
- 列表包含某个元素:a in b或者 a not in b
- 列表长度:len(a)
- 列表最大值:max(a)
- 列表最小值:min(a)
- 末尾插入:append()
- 特定位置插入:insert()
- 末尾弹出元素:pop()
- 特定位置删除:remove()
- 清空列表:clear()
- 列表反转:reverse()
- 列表中特定元素的个数:count()
- 列表浅拷贝:copy(),只是拷贝了一层,内层的都是拷贝了地址
tuple元组
- 有序列表
- 元组数据值可以访问,但不能修改
- list所有特性(除了可修改),元组都具有
- 元组长度:len()
- 元组最大值:max()
- 元组最小值:min()
- 转换为元组:tuple()
- 特定元素出现的次数:count()
- 指定元素的位置:index()
- 元组变量交换:a,b = b,a
set集合
-
无序,唯一
-
用来去重
-
len,max,min,等等
-
生成集合:set()
-
集合添加元素:add()
-
清空:clear()
-
拷贝:copy()
-
移除特定的元素:remove()和discard()
- remove删除元素不存在会报错
- discard删除元素不存在不报错,什么也不干
-
随机移除元素:pop()
-
集合交集:intersection()
-
集合差集:difference()
-
集合并集:union()
-
检查集合是否是另一个的子集:issubset
-
检查集合是否是另一个的超集:issuperset
-
冰冻集合:frozenset()
- 不可以进行任何修改
dict字典
- len,max,min,dict等
- 返回字典的字符串格式:str()
- 清空字典:clear()
- 返回字典的键值对:items()
- 返回字典的键组成的结果:keys()
- 返回字典的值组成的结果:values()
- 根据指定键返回对应的值:get(),不存在返回None,可以指定默认值
- 根据指定的序列作为键,使用一个值作为字典的所有键的值:fromkeys()