Python类初始化– Python __init __()函数
时间:2020-02-23 14:42:30 来源:igfitidea点击:
Python类初始化
每当开始学习Python编程语言时,他们都会遇到诸如__init__
之类的东西,通常他们并不完全了解。
在本程序中,我们将通过良好的示例尝试完全理解__init__
的用法。
了解python类的初始化函数
让我们看一个简短的代码片段,看看我们想了解的内容:
class Student(object): def __init__(self, something): print("Init called.") self.something = something def method(self): return self.something my_object = Student('Jetty')
__init__
方法有什么作用?为什么有必要?让我们找出答案。
python init方法有什么作用?
当创建一个新的python类实例时,将调用__init__
方法,这被证明是一个非常好的地方,我们可以在创建对象后对其进行修改。
这意味着当我们创建类的新实例时,如下所示:
my_object = Student('Jetty')
在上面的代码片段中,当我们使用" Jetty"(实际上可以是任何东西)调用Student时,它将作为参数Jetty传递给__init__
函数。
现在尝试运行此脚本:
__init__是构造函数吗?
其实,是。__init__
是一个oop构造。__init__
是类的构造函数。
就像上面提到的那样,一旦分配了对象的内存,就会调用__init__方法。
让我们看看上面片段中的操作:
def __init__(self, something): self.something = something
使用self
很重要,因为如果您不这样做,请执行以下方法:
def __init__(self, something): _something = something
" something"参数将存储在堆栈中的变量中,并且一旦__init__方法超出范围时将被丢弃。
__init__如何与继承一起使用?
当我们有一个从超类继承的类时,__init__
方法的工作方式相同。
让我们尝试演示在尝试初始化子类时会发生什么:
class User(object): def __init__(self, something): print("User Init called.") self.something = something def method(self): return self.something class Student(User): def __init__(self, something): User.__init__(self, something) print("Student Init called.") self.something = something def method(self): return self.something my_object = Student('Jetty')
在上面的代码中,当我们初始化Student对象时,将是运行上述程序时创建的输出:因此,在子类之前,调用了父类的init。
您可以通过修改父类或者子类的init调用顺序来控制它。