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篇 类和对象的主要内容,如果未能解决你的问题,请参考以下文章

Python编程基础

Python编程基础

Python面向对象编程02:深度认识类class

Python面向对象编程02:深度认识类class

Python面向对象编程第04篇 实例方法

Python面向对象编程第04篇 实例方法