1.Python中使用可变类型或者不可变类型的变量,在函数中使用赋值语句不影响外部的值
代码如下:
def demo1(num):
#在函数内部,针对参数使用赋值语句,不会修改到外部的实参变量
num=100
print(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+=num
num_list+=num_list
print(num)
gl_num=1
gl_list=[1]
demo(gl_num,gl_list)
print(gl_num)
print(gl_list)