Python 含参构造函数实例详解
在 Python 中,我们可以为类定义构造函数,用于在创建对象时初始化对象的属性。Python 中的构造函数又称为 __init__()
函数。在本文中,我们将详细讲解含参构造函数的使用,以及如何在类中定义含参构造函数。
定义含参构造函数
含参构造函数与无参构造函数的定义方式相似,唯一不同的地方就是含参构造函数需要在定义时指定参数列表。一般情况下,我们将该参数列表称为“self”以外的参数。例如:
class MyClass:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
上述代码中,我们定义了一个名为 MyClass
的类,在 __init__()
函数中,我们定义了两个参数,分别为 arg1
和 arg2
。self
参数代表的是当前对象本身,不属于类的参数范畴。
创建含参构造函数的对象
在定义完含参构造函数后,我们需要创建该类的对象并传递参数。如下例所示:
class MyClass:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
my_obj = MyClass('hello', 123)
print(my_obj.arg1) # 输出:'hello'
print(my_obj.arg2) # 输出:123
在上述代码中,我们首先定义了一个 MyClass
类,并且为其定义了一个含参构造函数。接着,我们创建了一个名为 my_obj
的该类实例,并将参数传递到该实例的构造函数中。最后,我们通过 print()
函数输出对象属性的值。
含参构造函数示例
简单示例
下面我们来看一个简单的含参构造函数示例。该类用于创建点的实例,并为点定义了 x
和 y
两个属性。
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(3, 4)
print(p.x) # 输出:3
print(p.y) # 输出:4
在上述代码中,我们首先定义了一个名为 Point
的类,并为其定义了一个含参构造函数。接着,我们创建了一个名为 p
的该类实例,并将参数 (3, 4)
传递到该实例的构造函数中。最后,我们通过 print()
函数输出对象属性的值。
带默认值的示例
下面我们来看一个带有默认值的含参构造函数示例。该类用于创建学生的实例,并为学生定义了 name
和 age
两个属性。在该示例中,当创建学生实例时,如果没有传递 age
参数,则默认将其置为 18。
class Student:
def __init__(self, name, age=18):
self.name = name
self.age = age
s1 = Student('Tom', 20)
s2 = Student('Jerry')
print(s1.name, s1.age) # 输出:Tom 20
print(s2.name, s2.age) # 输出:Jerry 18
在上述代码中,我们首先定义了一个名为 Student
的类,并为其定义了一个含参构造函数。在该构造函数中,我们为 age
参数指定了默认值 18
。接着,我们创建了两个名为 s1
和 s2
的该类实例,并将参数传递到该实例的构造函数中。当为 s1
传递的参数分别为 'Tom'
和 20
时,而为 s2
传递的只有 'Jerry'
参数,此时 age
参数自动取默认值 18
。最后,我们通过 print()
函数输出对象属性的值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 含参构造函数实例详解 - Python技术站