| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
学习了小甲鱼老师的零基础入门学习python第041讲:魔法方法:构造和析构,如果继承String,同时 要进行一些改动的时候要重写__new__方法而不是__init__方法。现在有个疑问,就是为什么String就不可以变呢?
字符串str属于Python中的不可变数据类型,str实例对象没有改变自身的方法,只能通过重新赋值来获得另一个字符串,但重新赋值后就变成另一个实例对象了,已不是原来的对象。 
不可变数据类型例: 
 - >>> string = "abc"
 
 - >>> id(string)
 
 - 24572832
 
 - >>> string = string + "d"
 
 - >>> string
 
 - 'abcd'
 
 - >>> id(string) # string已不是原来的string,ID已变
 
 - 63917568
 
 - >>> 
 
  复制代码 
可变数据类型例:
 - >>> lst = [1]
 
 - >>> id(lst)
 
 - 64206808
 
 - >>> lst.append(2) # 使用list实例对象的append方法来改变其自身
 
 - >>> lst
 
 - [1, 2]
 
 - >>> id(lst) # ID相同,此时lst还是原来的lst,但其值发生了变化
 
 - 64206808
 
 - >>> 
 
  复制代码 
 
 
 |   
 
 
 
 |