Python类中的构造函数又称为初始化方法,用于初始化新创建的对象。构造函数可以带有参数以便为对象设置属性值并执行必要的初始化代码。构造函数通常使用def __init__(self, arg1, arg2, ...)
的格式定义,其中self
表示对象本身,arg1
、arg2
等参数是可选的,代表对象的属性和初始值。以下是Python类的构造函数的完整攻略:
标准语法
Python的类构造函数的标准语法如下所示:
class MyClass:
def __init__(self, arg1, arg2, ...):
self.prop1 = arg1
self.prop2 = arg2
...
在以上代码中,
- MyClass
是定义的类名;
- __init__
是类的构造方法名;
- self
指代构造函数所属的对象;
- arg1
、 arg2
等是构造函数的形参。self
并不是要在对象创建时传入的实参,而是Python语言中约定成俗的规定。
同时,在构造函数中通过 self.
可以给对象设置属性,从而为对象赋初值。
示例 1 - 构造函数带参数
以下示例说明了Python类构造函数的带参数功能,用def
定义一个Rectangle
类,类中拥有长度和宽度这两个对象属性。通过构造函数,给对象rect1和rect2赋初值,以及打印对象的属性值。
class Rectangle:
def __init__(self, l, w):
self.length = l
self.width = w
rect1 = Rectangle(10, 15)
print("矩形1的长度为:", rect1.length, "宽度为:", rect1.width)
rect2 = Rectangle(8, 6)
print("矩形2的长度为:", rect2.length, "宽度为:", rect2.width)
以上代码中,构造函数__init__
中的self.length
和self.width
分别表示对象的长度和宽度属性,接收到传入的形参时来为对象的属性赋初值。
示例 2 - 没有构造函数
如果没有为Python类定义构造函数,则在创建对象时会使用默认的构造函数。以下示例演示了这一点。
class Dog:
def bark(self):
print("旺旺~~")
dog1 = Dog()
dog1.bark()
以上代码中,没有定义构造函数 __init__
,而 Dog
类中只有一个名为 bark
的方法。在创建对象时,没有传递参数,且没有初始化对象的属性。所以默认的构造函数就自动创建了一个空白对象,dog1
对象的属性为空,但是可以成功调用 bark()
方法。
以上便是Python类构造函数的详细讲解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python类的构造函数是什么 - Python技术站