加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

为什么python允许为同一个类创建不同的属性集?

发布时间:2020-12-20 11:32:18 所属栏目:Python 来源:网络整理
导读:我刚刚开始使用 python,在 java中,两个相同类型的不同实例具有不同的值,但它不允许它们具有不同的属性.但, class Point: passp1 = Point()p1.x = 0p1.y = 0p2 = Point()p2.z = 0p2.w = 1355135 此代码不会产生任何错误.所以我假设它是一种语言功能.但我不明
我刚刚开始使用 python,在 java中,两个相同类型的不同实例具有不同的值,但它不允许它们具有不同的属性.但,

class Point:
    pass

p1 = Point()
p1.x = 0
p1.y = 0
p2 = Point()
p2.z = 0
p2.w = 1355135

此代码不会产生任何错误.所以我假设它是一种语言功能.但我不明白为什么python允许两个相同类型的实例具有不同的属性?

它如何帮助设计代码?

解决方法

因为Python是一种动态语言. Python对象主要是一个dict(包含实例属性)对基类的引用(也是对象),当它们在实例的dict中不存在时,它们会在基类上查找类属性. FWIW你甚至可以在运行时根据需要更改对象的类型.

它如何帮助设计代码?好吧,能够在运行时动态添加/替换任意实例和类属性(包括方法)使得生活变得更加容易.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读