7-基础语法(6)

变量作用域

局部变量提升为全局变量

  • 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()
发布了247 篇原创文章 · 获赞 23 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/LiyangBai/article/details/102648070