Python 类属性
发布时间:2023-02-16 13:40:49 所属栏目:Python 来源:互联网
导读:每个明星两个属性:姓名和年龄。明星这个群体具有一个属性:数量,在这张表格中,明星的数量是 4; 姓名和年龄等属性是用于描述具体的一个对象(例如:周润发),而人物的数量是用于描述明星这个类别。 隶属于具体对象的属性,例如:姓名、年龄 隶属于类的属性
每个明星两个属性:姓名和年龄。明星这个群体具有一个属性:数量,在这张表格中,明星的数量是 4; 姓名和年龄等属性是用于描述具体的一个对象(例如:周润发),而人物的数量是用于描述明星这个类别。 隶属于具体对象的属性,例如:姓名、年龄 隶属于类的属性,例如:人物数量 本节讲解在 Python 中这两个层次上的属性的概念和使用。 1. 实例属性 实例属性是隶属于具体对象的属性,用于描述具体的对象。示例代码如下: class Person:passzhou = Person() zhou.name = 'Zhou'zhou.age = print('name = %s, age = %d' % (zhou.name, zhou.age))liu = Person()liu.name = 'Liu'liu.age = print('name = %s, age = %d' % (liu.name, liu.age)) 在第 1 行,定义了类 Person 在第 4 行,使用类 Person 创建一个对象 zhou 在第 5 行,设置对象 zhou 的属性 name,该属性为实例属性 在第 6 行,设置对象 zhou 的属性 age,该属性为实例属性 在第 7 行,打印对象 zhou 的属性 name 和 age 在第 9 行,使用类 Person 创建一个对象 liu 在第 10 行,设置对象 liu 的属性 name,该属性为实例属性 在第 11 行,设置对象 liu 的属性 age,该属性为实例属性 在第 12 行,打印对象 liu 的属性 name 和 age 程序运行输出如下: name = Zhou, age = 58 name = Liu, age = 53 2. self 参数 在前面的例子中,存在两个对象 zhou 和 liu,通过 zhou.name、liu.name 这样的形式访问实例属性。上面的例子存在一个显著的问题: 在第 7 行,使用 print(‘name = %s, age = %d’ % (zhou.name, zhou.age)) 打印对象 zhou 在第 12 行,使用 print(‘name = %s, age = %d’ % (liu.name, liu.age)) 打印对象 liu 以上这两行代码是雷同的,功能是重复的。Python 允许在类中定义方法,访问对象的属性,语法如下: class 类名:def 方法(self):self.属性 在类中定义的方法,第一个参数 self 指向调用该方法的对象,在方法中通过 “self.属性” 这样的形式访问对象的实例属性。示例代码如下: class Person:def introduce(self):print('name = %s, age = %d' % (self.name, self.age))zhou = Person() zhou.name = 'Zhou'zhou.age = zhou.introduce()liu = Person()liu.name = 'Liu'liu.age = liu.introduce() 在第 1 行,定义了类 Person 在第 2 行,定义了类 Person 的方法 introduce,introduce 的 self 参数指向调用 introduce 方法的对象 在第 3 行,introduce 方法通过 self.name 和 self.age 访问对象的属性 在第 5 行,使用类 Person 创建一个对象 zhou 在第 6 行,设置对象 zhou 的属性 name,该属性为实例属性 在第 7 行,设置对象 zhou 的属性 age,该属性为实例属性 在第 8 行,调用对象 zhou 的方法 introduce,对象 zhou 被传递给方法 introduce,作为 self 参数,在执行 introduce 时,self 参数指向对象 zhou 在第 10 行,使用类 Person 创建一个对象 liu 在第 11 行,设置对象 liu 的属性 name,该属性为实例属性 在第 12 行,设置对象 liu 的属性 age,该属性为实例属性 在第 13 行,调用对象 liu 的方法 introduce,对象 liu 被传递给方法 introduce,作为 self 参数,在执行 introduce 时,self 参数指向对象 liu 3. 类属性 类属性是隶属于类的属性,用于描述类的特征。 在 Python 中,类属性在类中的定义如下所示: class 类名: 类属性 = 值 示例代码如下: class Person:count = zhou = Person() zhou.name = 'Zhou'zhou.age = Person.count = Person.count + print('Person.count = %d' % Person.count)liu = Person()liu.name = 'Liu'liu.age = Person.count = Person.count + print('Person.count = %d' % Person.count) 在第 1 行,定义了类 Person 在第 2 行,定义了类 Person 的属性 count,该属性是类属性,描述了 Person 对象的数量 在第 4 行,使用类 Person 创建一个对象 zhou 在第 5 行,设置对象 zhou 的属性 name,该属性为实例属性 在第 6 行,设置对象 zhou 的属性 age,该属性为实例属性 因为新创建了一个对象 zhou 在第 7 行,访问 Person 的类属性 count,对其增加 1 在第 8 行,打印 Person 的类属性 count 在第 10 行,使用类 Person 创建一个对象 liu 在第 11 行,设置对象 liu 的属性 name,该属性为实例属性 在第 12 行,设置对象 liu 的属性 age,该属性为实例属性 因为新创建了一个对象 liu 在第 13 行,访问 Person 的类属性 count,对其增加 1 在第 14 行,打印 Person 的类属性 count (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 1. Grabs All Hyperlinks
- python – 使用setuptools问题创建新的virtualenv 1.11.5失
- Python Popen shell = False导致OSError:[Errno 2]没有这样
- Python零基础入门之python代码的外部模块引用与基本赋值语句
- python – 在给定顶点i的pylab中绘制3d表面
- python – 如何用numpy绘制文件
- python – 尝试在嵌套字典中查找唯一值的总和. (见例子!)
- Django没有为记录器“城市”找到处理程序
- python – 有效地减去不同形状的numpy数组
- Python Pandas:如果数据是NaN,则更改为0,否则在数据框中更