python函数的参数理解

代码————————————————

"""
1、在函数内部针对参数使用赋值语句,不会影响调用函数的实参变量
2、如果传递电参数是可变类型,在函数内部,使用方法使用方法修改数据内容,同样会修改外部数据
3、在python中,列表变量调用+=本质上就是执行列表变量的extend方法(将两个列表拼接),不会修改变量的引用
"""
print("1、在函数内部针对参数使用赋值语句,不会影响调用函数的实参变量")
a = 100
b = [1, 2, 3]


def he(num, hw_list):
    num = 50;
    hw_list = [9, 6, 3]
    print(num)
    print(hw_list)
    print("函数执行完成")


he(a, b)
print(a)  # 成员变量未更改
print(b)

print("2、如果传递电参数是可变类型,在函数内部,使用方法使用方法修改数据内容,同样会修改外部数据")
hw_a = [1, 2, 3]


def qq(hw_list):
    hw_list.append(10)
    print(hw_list)
    print("函数执行完成")


qq(hw_a)
print(hw_a)  # 全局变量也修改了

print("3、在python中,列表变量调用+=本质上就是执行列表变量的extend方法(将两个列表拼接),不会修改变量的引用")
jie_list = [5, 1, 4]
wei_list = [8, 2, 3]
pj_list = [1, 2, 3]
num = 10


def vv(a, b_list, c_list, d_list):
    a += a
    b_list += b_list  #由于相当于调用了extend()方法,所以该列表发生了改变
    c_list = c_list + c_list
    d_list.extend(d_list)
    print("num=%d" % a)
    print("jie_list=" , b_list)
    print("wei_list=" , c_list)
    print("pj_list=" , d_list)
    print("函数执行完成")


vv(num, jie_list, wei_list, pj_list)
print("num=%d" % num)
print("jie_list=", jie_list)
print("pj_list=" , pj_list)
print("wei_list=" , wei_list) #注意: 只有+=才能拼接,则x=x+x不行,所以该列表并没有改变

运行结果——————————————

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值