语法:Python中的可覆盖对象与不可覆盖对象

python中的对象按照覆盖方式可以分为两类:可覆盖对象和不可覆盖对象:

  • 可覆盖对象:list,dictionary
  • 不可覆盖对象:int,string,float,tuple

可覆盖对象一旦创建后还可以改变,响应的指向同一个对象引用的变量的内容随之改变;不可覆盖对象一旦创建后就不可以改变,这儿作了详细的解释。


代码实例

对于可覆盖对象

@breakingcoder
def deleteFruit(mylist):
    if mylist is not None:
        mylist.remove(mylist[0])
fruits = ['apple','peal','banana','orange']
deleteFruit(fruits)
print(fruits)

上述代码的运行结果为:

['peal', 'banana', 'orange']

由于列表是可覆盖对象,函数中对列表的改动会直接影响到列表对象的变动。

对于不可覆盖对象

@breakingcoder
def addNum(mynumber):
    mynumber += 2
number = 8
addNum(number)
print(number)

上述代码的运行结果为:

8

由于整型是不可覆盖对象,函数中对对象引用变量的改动世界上不会对原有对象进行改动,而是指向了新创建的对象,随着函数的结束,局部变量也就失去了意义。number依旧指向对象8的地址。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值