作者:莎仕比亚的围脖 | 来源:互联网 | 2023-05-31 16:35
本篇我们详细介绍一下 Python 类和对象的概念,以及如何定义类。
对象
对象是一个包含数据和功能的容器。
数据代表了特定时刻的对象,因此也被称为状态。Python 使用属性表示对象的状态。功能代表了对象的行为,Python 使用函数表示行为。当函数和对象关联时,就成为了对象的方法。
因此也可以说,对象是一个包含状态和方法的容器。
在创建对象之前,我们需要先定义类。然后就可以基于类创建一个或多个对象。类的对象也被称为类的实例。
定义类
Python 使用关键字 class 加上类名和冒号定义类。以下示例定义了一个 Person 类:
class Person:pass
按照惯例,我们使用首字母大写的字符串作为类的名称。如果类名中包含多个单词,我们使用驼峰命名法,例如 SalesEmployee。
以上示例中的 Person 类没有任何内容,所以我们使用 pass 语句作为占位符,以后再添加更多代码。
如果需要创建类的实例,可以使用类名加上括号,例如:
person = Person()
当我们打印 person 对象,可以看到它的名字和内存地址:
class Person:passperson = Person()print(person)
输出结果如下:
<__main__.Person object at 0x00000253020E60B0>
如果想要获取对象的唯一标识&#xff0c;可以使用 id() 函数。例如&#xff1a;
print(id(person))
输出结果如下&#xff1a;
2555540037808
对象的 id 具有唯一性。在 CPython 中&#xff0c;id() 函数返回的是对象的内存地址。hex() 函数可以将 id() 函数返回的整数转换为小写形式的十六进制字符串&#xff1a;
print(hex(id(person)))
0x253020e60b0
person 对象是 Person 类的一个实例&#xff0c;以下 isinstance() 函数的返回结果为 True&#xff1a;
print(isinstance(person, Person))
类也是对象
Python 中的一切都是对象&#xff0c;包括类。
当我们定义 Person 类时&#xff0c;Python 会创建一个名为 Person 的对象。Person 对象包含属性&#xff0c;例如&#xff0c;__name__ 属性存储了它的名称&#xff1a;
print(Person.__name__)
输出结果如下&#xff1a;
Person
Person 对象的类型为 type&#xff1a;
print(type(Person))
<class &#39;type&#39;>
Person 类还包含一个方法。例如&#xff0c;以下代码表示创建一个新的实例&#xff1a;
person &#61; Person()
总结
- 对象是一个包含状态&#xff08;属性&#xff09;和行为&#xff08;方法&#xff09;的容器。
- 类是创建对象的模板。
- 在 Python 中&#xff0c;类也是对象&#xff0c;它是类型&#xff08;type&#xff09;的一个实例。