构造函数是Python使用类中的定义实例化对象时调用的一种特殊方法。Python依赖于构造函数来执行任务,例如初始化对象启动时将需要的任何实例变量(将值分配给对象)。构造函数还可以验证对象是否有足够的资源,并执行您可以想到的任何其他启动任务。
构造函数的名称始终相同,即init()。必要时,构造函数可以接受参数来创建对象。当您创建没有构造函数的类时,Python会自动为您创建一个默认的构造函数,该构造函数不会执行任何操作。每个类都必须具有一个构造函数,即使它仅依赖于默认构造函数也是如此。以下步骤演示了如何创建构造函数:
1. 打开一个Python Shell窗口。
您会看到熟悉的Python提示符。
2. 键入以下代码(在每行之后按Enter,并在最后一行后按Enter两次):
class MyClass:
Greeting = "
def __init__(self, Name="there"):
self.Greeting = Name + "!"
def SayHello(self):
print("Hello {0}".format(self.Greeting))
本示例提供函数重载的第一个示例。在这种情况下,_ init _()有两个版本。第一个不需要任何特殊输入,因为它使用名称“ there”的默认值。第二个要求输入名称。它将Greeting设置为该名称的值,加上一个感叹号。
Python不支持真正的函数重载。许多严格遵循面向对象编程(OOP)原则的人都认为默认值与函数重载有所不同。但是,使用默认值可获得相同的结果,这是Python提供的唯一选项。在真正的函数重载中,您会看到同一函数的多个副本,每个副本都可能以不同的方式处理输入。
3. 键入MyInstance = MyClass()并按Enter。
Python创建一个名为MyInstance的MyClass实例。
4. 键入MyInstance.SayHello(),然后按Enter。
请注意,此消息提供了默认的通用问候语。
5. 键入MyInstance = MyClass(“ Amy”),然后按Enter。
Python创建一个名为MyInstance的MyClass实例。
6. 键入MyInstance.SayHello()并按Enter。
请注意,此消息提供了特定的问候。
7. 关闭“ Python Shell”窗口。