Python类和对象

Python是一种面向对象的编程语言。Python类和对象是Python编程语言的核心构建模块。

Python类

到目前为止,你们所有人应该已经学习了Python数据类型。如果你还记得的话,Python中的基本数据类型只指一种数据类型。如果你可以声明一个数据类型,它本身包含多种数据类型,并且可以通过任何函数与它们一起工作,那将会怎样?Python类为你提供了这个机会。Python类是创建该类实例的蓝图。

简单的Python类声明

以下是Python类定义的非常基本的结构。

class ClassName:  
    # Python类变量列表  
    # Python类构造函数  
    # Python类方法定义

现在,让我们来看看真实的例子。

#类定义的开始  
class Person:  
    #初始化变量  
    name = ""  
    age = 0  
      
    #定义构造函数  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge  
  
    #定义类方法  
    def showName(self):  
        print(self.name)  
  
    def showAge(self):  
        print(self.age)  
          
    #类定义结束  
  
# 创建类的对象  
person1 = Person("John", 23)  
#再创建同一类的另一个对象  
person2 = Person("Anne", 102)  
#调用对象的成员方法  
person1.showAge()  
person2.showName() 

这个例子相当容易理解。正如我们所知,以“#”开头的行是Python注释。注释解释了接下来可执行的步骤。这段代码产生以下输出。

Python类定义

class Person: 

这一行标志着类’Person’的类定义的开始。

Python类变量

    #初始化变量  
    name = ""  
    age = 0

‘name’和‘age’是类’Person’的两个成员变量。每次我们声明此类的对象时,它将包含这两个变量作为其成员。此部分是可选的,因为它们可以通过构造函数进行初始化。

Python 类构造函数

    #定义构造函数  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge

Python 类构造函数是在创建类的新对象时首先执行的代码片段。主要地,构造函数可用于给成员变量赋值。您也可以在构造函数中打印消息以确认对象是否已创建。一旦我们了解了 Python 继承,我们将学习构造函数的更重要作用。构造函数方法以 `def __init__` 开始。随后,第一个参数必须是 ‘self’,因为它传递了对类实例本身的引用。您还可以添加额外的参数,就像示例中所示的那样。’personName’ 和 ‘personAge’ 是在创建新对象时要发送的两个参数。

Python 类方法

#定义 Python 类方法  
    def showName(self):  
        print(self.name)  

方法的声明方式如下:

def method_name(self, parameter 1, parameter 2, …….)
    statements……..
    return value (if required)

在上述示例中,我们已经看到方法 showName() 打印了该对象的 ‘name’ 值。我们将在以后的某一天讨论更多关于 Python 方法的内容。

Python类对象

# 创建一个类的对象  
person1 = Person("Richard", 23)  
# 创建另一个相同类的对象  
person2 = Person("Anne", 30)  

# 调用对象的成员方法  
person1.showAge()
person2.showName()

在Python中,创建对象的方式非常简单。首先,您放置新对象的名称,后跟赋值运算符和类的名称,还有参数(如构造函数中定义的)。请记住,参数的数量和类型应与构造函数中接收的参数兼容。创建对象后,可以调用成员方法并访问成员属性(前提是它们是可访问的)。

# 直接访问 'name' 属性以打印 person1 的名称
print(person1.name)

这就是Python类的基础知识。由于我们将在后续教程中学习Python面向对象的特性,如继承、多态,我们将更深入地了解Python类及其特性。在那之前,愉快的编码,再见!如果有任何疑问,请随时评论。参考:Python.org 文档

Source:
https://www.digitalocean.com/community/tutorials/python-classes-objects