"""
局部变量:在函数中定义的变量
使用范围:函数内部
"""deffunc1():
num =10print(num)
func1()# 局部变量只能在函数内部使用,在外部使用会报错# print(num)
全局变量
"""
局部变量:在函数外部定义的变量
使用范围:整个文件
"""
num =10# 全局变量deffunc1():print(num)# 函数中可以使用
func1()# 函数外也可以使用print(num)
声明全局变量
# 全局变量
num =10deffunc1():
num =3# 在函数中对变量赋值时,会创建一个新的局部变量print(num)# 3 局部变量(全局变量和局部变量同名时,函数中优先使用局部变量)
func1()print(num)# 10 全局变量(局部变量只能在函数中使用,所以函数外部使用的只可能是全局变量)"""声明全局变量"""
num =10# 全局变量deffunc1():# 如果想要在函数中修改全局变量,需要先声明变量为全局变量 global 全局变量名global num # 声明后,不再创建新的局部变量num,而是使用全局变量num
num =3# 全局变量print(num)
func1()print(num)#全局变量
"""组包: =号右边有多个数据时,会自动包装为元组"""
a =10,20,30print(a)"""解包/拆包:变量数量 = 元素数量,元素会自动一一对应赋值"""
a, b, c =[10,20,30]print(a)print(b)print(c)"""先将10,20组包为元组(10, 20), 然后解包一一对应赋值 a = 10 b = 20"""
a, b =10,20print(a)print(b
应用场景
"""应用场景1 交换两个变量的值"""
a =5
b =4# 方案1 临时变量
temp = a # temp = 5
a = b # a = 4
b = temp # b =5print(a)print(b)# 方案2 数学公式
a = a + b
b = a - b
a = a - b
print(a)print(b)# 方案3 组包
a, b = b, a # a, b = 4, 5print(a)print(b)"""应用场景2 设置多个返回值"""deffunc1():return10,20,30# 本质就是组包,多个返回值会包装为元组
a = func1()print(a)# (10, 20, 30)
a, b, c = func1()print(a)print(b)print(c)"""应用场景3 字典.items()"""
dict1 ={"name":"zs","age":20}for key in dict1:# 遍历字典取出的是键print(key)# 字典.items() 返回一个可迭代对象,遍历后取出键值对(元组形式)for data in dict1.items():# data = ("name", "zs")print(data)# ('name', 'zs')# ('age', 20)for key, value in dict1.items():# key, value = ("name", "zs")print(key)print(value)# name# zs# age# 20