参数的传递

1、不可变对象的参数引用,对象不变,创建新的对象进行运算,id会变化

e=100
print("看e的变化,初始值100")
def t1(m):
    print("初始的id:",id(m))
    m=m+200
    print("+200现在的m:",m)
    print("+200后的id:",id(m))

t1(e)
print("现在的e:",e,id(e))

结果:

看e的变化,初始值100
初始的id: 140733182619120
+200现在的m: 300
+200后的id: 3041231267120

现在的e: 100 140733182619120

不可变对象有:数字、元组、字符串、function等

 

2、可变对象的引用,不创建新的对象,直接引用新的对象,id不变

f=[10,20]
print("看f的变化,初始值",f)
def t2(m):
    print("初始的id:",id(m))
    m.append(30)
t2(f)
print("添加30现在的f:",f)
print("现在f的id:",id(f))

结果:

看f的变化,初始值 [10, 20]
初始的id: 2168109111304
添加30现在的f: [10, 20, 30]
现在f的id: 2168109111304

可变对象有:列表,字典,集合、自定义的对象等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值