直接上代码!!!
#!/usr/bin/env python3
# coding:utf8
# author:song
# File: def_exteend.py
# Software:Visual Studio Code
# Date:2019-12-25 Wed dec
"""数据类型在函数中的变化
默认的变量值在函数中使用+=只会影响局部内容不会影响全局
列表可变性数据类型在函数中使用+=会影响全局
在函数对列表使用+=相当于对列表使用 extend 方法
"""
def demo1(num):
num += num
return num
def demo2(num,num_list):
num += num
num_list += num_list
return num,num_list
def demo3(num_list):
num_list.extend(num_list)
return num_list
def main():
num = 10
num_list = [1,2,3]
print(f"num的变量初始值为: {num}")
print(f"对num变量进行+=操作值为:{demo1(num)}")
print(f"num_list列表的初始值为:{num_list}")
print(f"对num和num_list进行+=操作:{demo2(num ,num_list)}")
print(f"再次对num和num_list进行+=操作:{demo2(num ,num_list)}")
print(f"再次查看num和num_list的值:num: {num} num_list:{num_list}")
num_list = [1,2,3]
print(f"使用list.extend方法:{demo3(num_list)}")
if __name__ == "__main__":
main()
上面代码执行结果
num的变量初始值为: 10
对num变量进行+=操作值为:20
num_list列表的初始值为:[1, 2, 3]
对num和num_list进行+=操作:(20, [1, 2, 3, 1, 2, 3])
再次对num和num_list进行+=操作:(20, [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])
再次查看num和num_list的值:num: 10 num_list:[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
使用list.extend方法:[1, 2, 3, 1, 2, 3]
小结:在脚本函数中列表慎用+=方法