1.Python中使用可变类型或者不可变类型的变量,在函数中使用赋值语句不影响外部的值
代码如下:
def demo1(num):#在函数内部,针对参数使用赋值语句,不会修改到外部的实参变量num=100print(num)gl_num=1
print(gl_num)
demo1(gl_num)
print(gl_num)
但是使用方法会改变值:
def demo(num_list):#使用方法修改列表的内容,同样会影响到外部数据num_list.append(6)print(num_list)num_list=[1]
print(num_list)
demo(num_list)
2.Python中使用+=对于不可变类型不影响外部值,但是对列表使用+=相当于调用extend()方法
代码如下:
def demo(num,num_list):#列表变量使用+不会做相加再赋值的操作#本质上是在调用列表的extend方法num+=numnum_list+=num_listprint(num)gl_num=1
gl_list=[1]
demo(gl_num,gl_list)
print(gl_num)
print(gl_list)