MEMOO
MEMOO
Published on 2025-04-27 / 22 Visits
0
0

Python类

摘要:在本教程中,你将学习 Python 中的类和对象,以及如何定义一个新类。

对象

对象是一个容器,用于封装数据功能

数据表示对象在特定时刻的状态。因此,对象的数据被称为对象的状态。Python 使用属性来建模对象的状态。

功能表示对象的行为。Python 使用函数来建模对象的行为。当一个函数与对象相关联时,它就成为了对象的方法

换句话说,对象是一个包含属性方法的容器。

在创建对象之前,你需要先定义一个类,然后,你可以从该类中创建一个或多个对象。

一个类的对象也被称为该类的实例

定义类

在 Python 中,要定义一个类,你需要使用 class 关键字,后跟类名和一个冒号。以下示例定义了一个 Person 类:

class Person:
    pass

按照惯例,在 Python 中,类名通常使用大写字母开头(即遵循首字母大写命名规范)。如果类名包含多个单词,则使用驼峰命名法(CamelCase)格式,例如 SalesEmployee

由于目前定义的 Person 类还不完整,你需要使用 pass 语句来表明后续会为该类添加更多代码(pass 语句是一个空操作占位符,用于保持代码结构的完整性)。

要创建一个类的实例,你可以使用类名后跟一对圆括号的方式,如下所示:

person = Person()

当打印输出 person 对象时,你会看到它的名称(即类名标识的实例)以及对应的内存地址:

class Person:
    pass

person = Person()
print(person)

输出:

<__main__.Person object at 0x000001C46D1C47F0>

要获取一个对象的身份标识(即唯一标识符),你可以使用 id() 函数。例如:

class Person:
    pass

person = Person()
print(id(person))

输出:

1943155787760

对象的身份标识(id)是唯一的。在 CPython(Python 的主流实现版本)中,id() 函数返回的是对象在内存中的地址。hex() 函数可以将 id() 函数返回的整数值转换为一个以 0x: 为前缀的小写十六进制字符串:

class Person:
    pass

person = Person()
print(hex(id(person)))

输出:

0x1c46d1c47f0

person 对象是 Person 类的一个实例。isinstance() 函数用于判断一个对象是否为某个类的实例,如果该对象是指定类的实例,则返回 True

class Person:
    pass

person = Person()

print(isinstance(person, Person))  # True

输出:

True

在 Python 中,类也是一个对象

Python 中的一切皆为对象,包括类。

当你定义 Person 类时,Python 会创建一个名为 Person 的对象。这个 Person 对象具有属性。例如,你可以使用 __name__ 属性来获取它的名称:

class Person:
    pass

print(Person.__name__)

输出:

Person

Person 对象的类型是 type

class Person:
    pass

print(type(Person))

输出:

<class 'type'>

Person 类也具有行为(功能)。例如,它可以创建一个新的实例:

class Person:
    pass

person = Person()

总结:

  • 对象是一个容器,它包含状态(数据)和行为(方法)。

  • 类是用于创建对象的蓝图。

  • 在 Python 中,类本身也是一个对象,它是 type 类的实例。


Comment