Python Object Orientation - Class Attribute "One" (Terms Instance, Class Object, Class Attribute and Instance Attribute)

python old bird 2022-09-23 08:04:17 阅读数:992

pythonobjectorientationclassattribute

欢迎关注博主 python老鸟 或 前往 『Python自学网』, 从基础入门免费课程开始,逐步深入学习python全栈体系课程,适合新手入门到精通全栈开发.


免费专栏传送门:《Python基础教程


一、专业术语——实例

1. 1 对象创建过程:

1.使用面向对象开发,第一步是设计类

2.使用类名()创建对象,The steps to create an object are2步:

  •  在内存中为对象分配空间
  •  调用初始化方法__init__,为对象初始化

 3. 对象创建后,内存中就有了一个对象的实实在在的存在————we call instance

因此,通常也会把:

  1. The created object is called ——类的实例
  2. 创建对象的动作叫做——实例化
  3. 对象的属性叫做——实例属性
  4. 对象调用的方法叫做——实例方法

2.2 执行过程

在程序执行时:

2.1对象各自拥有自己的实例属性

2.2 调用对象方法,可以通过self.

  • 访问自己的属性
  • 调用自己的方法

3.结论

1.Each object has its own independent Beicun space,保存各自不同的属性

2.多个对象的方法,在内存中只有一份,在调用方法时,需要把对象的引用传递到方法内部

二、类是一个特殊的对象——类对象

Python中一切皆对象.

  • class AAA:定义的类 属于 类对象
  • obj1 = AAA() :属于 实例对象

在程序运行时,类同样会被加载到内存,在python中,类是一个特殊的对象——类对象.在程序运行时,类对象在内存中只有一份,使用一个类可以创建出很多个对象实例,除了封装实例的属性和方法外,类对象还可以拥有自己的属性和方法.


2.1 类属性、类方法

访问类的属性 或者 调用类的方法:

类名.

 


2.2  类属性和实例属性

2.2.1概念:

类属性就是给类对象中定义的属性,通常用来记录与这个类相关的特征,类属性不会用于记录具体对象的特征.

使用赋值语句定义类属性,The variable name on the left side of the assignment statement is the class attribute name.

2.2.2使用:

示例需求:

  1. 定义一个工具类
  2. Each tool has its own namename
  3. 需求——Know how many tool objects are created using this class

 

示例代码:

class Tool(object):
# 使用赋值语句定义类属性,记录所有工具对象的数量
# 初始数量是0
count = 0
def __init__(self, name):
self.name = name
# 每增加一个工具对象,让类属性的值加1
Tool.count += 1
# 1. 创建工具对象
tool1 = Tool("扳手")
tool2 = Tool("老虎钳")
# 2. 输出工具对象的总数
print(Tool.count)

执行结果:

 

copyright:author[python old bird],Please bring the original link to reprint, thank you. https://en.javamana.com/2022/266/202209230724062448.html