Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同
Topic source>>> bart = Student('Bart Simpson', 59)
>>> lisa = Student('Lisa Simpson', 87)
>>> bart.age = 8
>>> bart.age
8
>>> lisa.age
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute 'age'
在这里例子里面,定义了两个实例bart和lisa。 bart.age=8,让bart有了age的属性 但是,lisa并没有age这个属性。
这就是,bart和lisa两个实例变量,都是同一个类的实例,但是bart有的变量名包括姓名和成绩、年龄,lisa只有姓名和成绩。
python是动态语言,实例创建出来之后仍然可以被绑定其他属性,即使类中没有规定。 Java/C#是静态语言,实例创建出来后属性就固定了,有什么属性是类规定好了的,不允许改变。
- 1
- 2
狗不理翔
这句还是没懂,有大神帮忙具体解释下吗?包括下面那个代码也没有懂。