函数传参:拆包
拆包,是将一个序列类型的数据拆开为多个数据,分别赋值给变量,位置对应
*:传递参数时可以对元组/列表拆包
**:传递参数时可以对字典拆包
def add(**kwargs):
print(kwargs)
my={"city":"北京","airport":"大兴机场"}
add(**my)
--------------------打印结果--------------------
{'city': '北京', 'airport': '大兴机场'}
函数作用域:
全局变量:函数外部定义的变量
局部变量:函数内部定义的变量
一般全局变量会用大写字母来标志,如果是局部变量的话,是会有小字母来标志
1、全局变量在函数内部和外部都可以使用,局部变量只能在函数内调用,否则会报错
A=11 #全局变量
def add():
a=22 #局部变量
print(A+a)
add()
----------------打印结果----------------
33
2、如果全局变量与局部变量名一样,那么会优先调用局部变量
A=11 #全局变量
def add():
A=22 #局部变量
print(A+A)
add()
---------------打印结果---------------
44
3、如果是想在函数内部改变全局变量的值,那么在全局变量之前加global关键字
A=2 #全局变量
def add():
global A
A=13 #局部变量
print(A+A)
add()
------------------打印结果------------------
26
4、如果全局变量是列表类型,那么可以通过append等列表方法去对列表进行修改,否则修改不成功
A=[1,3,4] #全局变量
def add():
A.append(666) #局部变量
print(A)
add()
-------------------打印结果-------------------
[1, 3, 4, 666]
|