函数的参数
def demo(num,num_list):
print("函数内部的代码")
# 在函数内部,针对参数使用赋值语句,不会修改到外部的实参变量
num = 100
num_list = [1,2,3]
print(num)
print(num_list)
print("函数执行完成")
gl_num = 99
gl_list = [4,5,6]
demo(gl_num,gl_list)
print(gl_num)
print(gl_list)
输出为
但是用方法修改则会影响外部的数据
def demo(num_list):
print("函数内部的代码")
# 在函数内部,使用方法修改参数
num_list.append(9)
print(num_list)
print("函数执行完成")
gl_list = [1,2,3]
demo(gl_list)
print(gl_list)
输出为
面试题 +=
def demo(num,num_list):
print("函数内部代码")
# num = num + num
num += num
# 列表使用 += 相当于调用extend方法,num_list.extend(num_list)由于是调用方法,所以不会修改变量的引用
# num_list = num_list + num_list 因为是赋值所以不会影响
# 函数执行结束后,外部数据同样会发生变化
num_list += num_list
print(num)
print(num_list)
print("函数代码完成")
gl_num = 9
gl_list = [1,2,3]
demo(gl_num,gl_list)
print(gl_num)
print(gl_list)
输出为