加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > Python > 正文

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

(编辑:莱芜站长网)

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

    推荐文章
      热点阅读