“Python案例:Person类的属性”的版本间的差异
来自CloudWiki
(创建页面,内容为“==案例描述== 编写个人信息类并建立对象访问属性。 ==案例分析== 个人信息类Person定义如下: <nowiki>class Person: name="XXX"…”) |
(没有差异)
|
2022年12月11日 (日) 03:11的版本
案例描述
编写个人信息类并建立对象访问属性。
案例分析
个人信息类Person定义如下:
class Person: name="XXX" gender="X" age=0
其中name,gender,age都是类属性,类属性一般使用类名称Person访问。
class Person: name="XXX" gender="X" age=0 p=Person() print(p.name,p.gender,p.age) print(Person.name,Person.gender,Person.age) p.name="A" p.gender="Male" p.age=20 Person.name="B" Person.gender="Female" Person.age=21 print(p.name,p.gender,p.age) print(Person.name,Person.gender,Person.age)
结果:
XXX X 0 XXX X 0 A Male 20 B Female 21
由此可见通过对象a与Person类名称都可以读取到类属性name、gender、age,但是改写这些类属性时下列语句:
p.name="A" p.gender="Male" p.age=20
结果是为对象p生成了自己的name、gender、age,属性,改写的不是类属性name、gender、age,只有通过Person的下列语句:
Person.name="B" Person.gender="Female" Person.age=21
改写的才是name、gender、age,类属性。