1. 什么是def __init__( )函数
在Python类中,def __init__( )是一个特殊的方法。它是Python类的构造函数,用于创建对象并初始化该对象的属性。
__init__方法是在实例化对象时调用的第一个方法。它是一个特殊方法,带有self参数,self代表类的实例,通过self.属性可以访问该类的属性。__init__方法通常被用来初始化对象的属性参数,并可以在对象被创建时自动执行。
2. def __init__( )函数的作用
2.1 创建对象
Python的类是用来创建对象的。使用类创建对象时,要先定义一个类,然后使用类的构造函数创建对象。构造函数是类中的一种特殊方法,用于提供对象的初始状态。
下面的例子中Person类的构造函数__init__用来初始化Person对象的name和age属性:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("张三", 18)
print(p1.name)
print(p1.age)
在上面的例子中,我们创建了一个Person类的对象p1,并将姓名和年龄传递给Person类的构造函数__init__。构造函数将姓名和年龄保存到属性name和age中。然后我们打印出p1的name和age属性,结果为:
张三
18
2.2 初始化对象属性
构造函数__init__可以用来初始化对象的属性。下面的例子中,我们定义了一个Car类,并使用__init__方法初始化了该类的颜色和型号属性:
class Car:
def __init__(self, color, model):
self.color = color
self.model = model
car1 = Car("red", "Tesla")
print(car1.color)
print(car1.model)
在上面的例子中,我们使用构造函数__init__来初始化Car对象的color和model属性。我们创建了一个名为car1的Car对象,并将车的颜色设置为红色,型号设置为Tesla。然后我们打印car1的color和model属性,结果为:
red
Tesla
2.3 实现传递参数
构造函数__init__可以实现传递参数。在下面的例子中,我们定义了一个Student类,并使用__init__方法实现了传递参数name和age。
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
std1 = Student("李四", 20)
print(std1.name)
print(std1.age)
在上面的例子中,我们使用构造函数__init__来初始化Student对象的name和age属性。我们创建了一个名为std1的Student对象,并将学生的姓名设置为李四,年龄设置为20。然后我们打印std1的name和age属性,结果为:
李四
20
3. def __init__( )函数的Python代码示例
下面是一个使用__init__方法的示例,实现了一个简单的计算器:
class Calculator:
def __init__(self, num1, num2):
self.num1 = num1
self.num2 = num2
def add(self):
return self.num1 + self.num2
def subtract(self):
return self.num1 - self.num2
def multiply(self):
return self.num1 * self.num2
def divide(self):
return self.num1 / self.num2
cal1 = Calculator(10, 5)
print(cal1.add())
print(cal1.subtract())
print(cal1.multiply())
print(cal1.divide())
在上面的代码中,我们定义了一个名为Calculator的类,并使用__init__方法来初始化num1和num2属性。然后我们定义了add、subtract、multiply、divide四种方法,这些方法将使用num1和num2属性执行加、减、乘、除操作。使用类计算器的示例代码执行结果为:
15
5
50
2.0
4. 总结
在Python中,构造函数__init__是类一个特殊的方法,用于创建对象并初始化对象的属性。通过__init__方法能够实现对象的属性参数初始化、传递参数以及创建对象等功能。