### 形参,实参,值传入,地址传入,可变对象,不可变对象...
# 多形参传入*
def fun(*var_tuple):
print(var_tuple)
# 不同类型参数出入**
def fun1(**var_dic):
print(var_dic)
def fun2(*var_tuple, **var_dic):
print(var_tuple, var_dic)
# 不可变对象,传入的是值,地址不传
def fun3(a):
a += 100
print('在函数内部a的内存地址是%s' % id(a))
# 列表是一个可变对象,传入函数的是ls的地址
def fun4(ls):
ls.append(12345)
print('在函数内部ls的内存地址是%s' % id(ls))
# 字典是一个可变对象,传入函数的是字典的地址
def fun5(dic):
height['zhangsan'] = 180
print('在函数内部dic的内存地址是%s' % id(dic))
if __name__ == '__main__':
print('what')
fun(1,5,'aaa')
fun1(a=100, b='aaa')
fun2(1,5,'aaa',a=100, b='aaa')
a = 10
fun3(a)
print(a)
ls = [1,4,5]
fun4(ls)
print(ls)
print('在函数外部ls的内存地址是%s'%id(ls))
height = {'lisi':178, 'wangwu':165}
fun5(height)
print(height)
print('在函数外部height的内存地址是%s' % id(height))