一 变量作用域
1 局部变量:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量。
2 全局变量:指的是在函数体内,外都能生效的变量。
#局部变量修改为全局变量
a = 100
def test1():
print(a)
def test2():
global a #声明a为全局变量
a = 200
print(a)
test1()
test2()
print(a)
结果:
100
200
200
二 参数
1,位置参数必须在关键字参数前面;关键字参数之间不存在先后顺序。
2 不定长参数 *args **kwargs (根据传进参数的位置合并为一个元组,字典)
三 拆包和交换变量值
1 拆包:元组
def return_num():
return 100, 200
num1, num2 = return_num()
print(return_num())
print(num1)
print(num2)
结果:
(100, 200)
100
200
2 拆包: 字典
def demo(*args,**kwargs):
print(args)
print(kwargs)
# 需要元组变量/字典变量传递给函数对应的参数
gl_nums = (1, 2, 3)
gl_xiaoming = {"name":"xiaoming", "age": 18}
# demo(gl_nums, gl_xiaoming)
demo(*gl_nums, **gl_xiaoming)
四 交换变量的值
a, b = 1, 2
a, b = b, a
print(a, b)
结果: 2 1
五 引用
在python中,值都是靠引用来传递来的。id()可以来判断俩个变量是否为同一值的引用