python类的构造函数是什么

  • Post category:Python

Python中的类是一种面向对象的编程结构,类定义了一个对象的属性和方法。构造函数是类中一个特殊的函数,它在实例化类的对象时调用,用来初始化对象的属性。Python中构造函数的名称是__init__,使用时必须加上该名称。

在类中定义构造函数的语法如下:

class MyClass:
    def __init__(self, arg1, arg2, ...):
        # 这里对对象属性进行初始化

__init__函数的第一个参数必须是self,它表示创建的对象实例本身。其余的参数是用户定义的对象属性。这些属性在对象被创建时由构造函数进行初始化。

下面以两个例子说明Python类的构造函数的使用。

例子一

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p1 = Person("Tom", 25)
print("Name:", p1.name)
print("Age:", p1.age)

在这个例子中,我们创建了一个Person类,该类有两个实例化变量nameage。在构造函数中传入两个参数nameage,并将它们分别赋值给对象属性self.nameself.age

创建一个对象实例p1,并传入两个参数“Tom”和25,该实例会自动调用Person类的构造函数来初始化其属性。

最后输出对象的属性值。

例子二

class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer_reading = 0

    def get_descriptive_name(self):
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()

car = Car("audi", "a4", 2019)
print(car.get_descriptive_name())

这个例子中,我们创建了一个Car类。构造函数__init__不仅初始化了makemodelyear三个属性,还初始化了一个属性odometer_reading

调用get_descriptive_name方法返回为该车辆生成的描述性名称字符串,该字符串的值类似于“2019 Audi A4”。

创建对象实例car,传入三个参数,实例属性会被构造函数进行初始化。最后再调用get_descriptive_name方法。