Python面向对象编程第02篇 类和对象
Posted 不剪发的Tony老师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面向对象编程第02篇 类和对象相关的知识,希望对你有一定的参考价值。
本篇我们详细介绍一下 Python 类和对象的概念,以及如何定义类。
对象
对象是一个包含数据和功能的容器。
数据代表了特定时刻的对象,因此也被称为状态。Python 使用属性表示对象的状态。功能代表了对象的行为,Python 使用函数表示行为。当函数和对象关联时,就成为了对象的方法。
因此也可以说,对象是一个包含状态和方法的容器。
在创建对象之前,我们需要先定义类。然后就可以基于类创建一个或多个对象。类的对象也被称为类的实例。
定义类
Python 使用关键字 class 加上类名和冒号定义类。以下示例定义了一个 Person 类:
class Person:
pass
按照惯例,我们使用首字母大写的字符串作为类的名称。如果类名中包含多个单词,我们使用驼峰命名法,例如 SalesEmployee。
以上示例中的 Person 类没有任何内容,所以我们使用 pass 语句作为占位符,以后再添加更多代码。
如果需要创建类的实例,可以使用类名加上括号,例如:
person = Person()
当我们打印 person 对象,可以看到它的名字和内存地址:
class Person:
pass
person = Person()
print(person)
输出结果如下:
<__main__.Person object at 0x00000253020E60B0>
如果想要获取对象的唯一标识,可以使用 id() 函数。例如:
print(id(person))
输出结果如下:
2555540037808
对象的 id 具有唯一性。在 CPython 中,id() 函数返回的是对象的内存地址。hex() 函数可以将 id() 函数返回的整数转换为小写形式的十六进制字符串:
print(hex(id(person)))
0x253020e60b0
person 对象是 Person 类的一个实例,以下 isinstance() 函数的返回结果为 True:
print(isinstance(person, Person)) # True
类也是对象
Python 中的一切都是对象,包括类。
当我们定义 Person 类时,Python 会创建一个名为 Person 的对象。Person 对象包含属性,例如,__name__ 属性存储了它的名称:
print(Person.__name__)
输出结果如下:
Person
Person 对象的类型为 type:
print(type(Person))
<class 'type'>
Person 类还包含一个方法。例如,以下代码表示创建一个新的实例:
person = Person()
总结
- 对象是一个包含状态(属性)和行为(方法)的容器。
- 类是创建对象的模板。
- 在 Python 中,类也是对象,它是类型(type)的一个实例。
以上是关于Python面向对象编程第02篇 类和对象的主要内容,如果未能解决你的问题,请参考以下文章