python3 函数的参数 列表使用+=本质上是调用extend方法

直接上代码!!!

#!/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]


小结:在脚本函数中列表慎用+=方法

你可能感兴趣的:(python)