Python中的类具有__init__()函数。当类被初始化时,该函数会被执行。让我们来看看__init__的一些关键点 -
Python 中的类具有 __init__() 函数。
类似于Java中的构造函数,__init__()函数在对象创建时执行。
__init__() 函数会自动被调用。
它用于为对象的属性赋值。
__init__()方法可以具有灵活性的参数。为此,传递给类实例化运算符的参数将传递给__init__()。
当一个类定义了一个__init__()方法时,类的实例化会自动调用__init__()方法来创建新的类实例。
创建一个带有__init__()方法的类
示例
让我们使用 __init__() 创建一个类 -
class</span> Student</span>:</span>
def</span> __init__</span>(</span>self,</span> name,</span> rank,</span> points)</span>:</span>
self.</span>name =</span> name
self.</span>rank =</span> rank
self.</span>points =</span> points
# Creating an object</span>
st =</span> Student(</span>"David"</span>,</span> 2</span>,</span> 90</span>)</span>
print</span>(</span>"Student Name = "</span>,</span>st.</span>name)</span>
print</span>(</span>"Student Rank = "</span>,</span>st.</span>rank)</span>
print</span>(</span>"Student Points = "</span>,</span>st.</span>points)</span>
输出
Student Name = David
Student Rank = 2
Student Points = 90
创建一个带有 __init__() 和自定义方法的类
示例
我们将在这里创建一个带有 __init__() 的类,并且还将创建并调用一个自定义函数 -
class</span> Students</span>:</span>
def</span> __init__</span>(</span>self,</span> name,</span> rank,</span> points)</span>:</span>
self.</span>name =</span> name
self.</span>rank =</span> rank
self.</span>points =</span> points
# custom function</span>
def</span> demofunc</span>(</span>self)</span>:</span>
print</span>(</span>"I am "</span>+</span>self.</span>name)</span>
print</span>(</span>"I got Rank "</span>,</span>+</span>self.</span>rank)</span>
# create 4 objects</span>
st1 =</span> Students(</span>"Steve"</span>,</span> 1</span>,</span> 100</span>)</span>
st2 =</span> Students(</span>"Chris"</span>,</span> 2</span>,</span> 90</span>)</span>
st3 =</span> Students(</span>"Mark"</span>,</span> 3</span>,</span> 76</span>)</span>
st4 =</span> Students(</span>"Kate"</span>,</span> 4</span>,</span> 60</span>)</span>
# call the functions using the objects created above</span>
st1.</span>demofunc(</span>)</span>
st2.</span>demofunc(</span>)</span>
st3.</span>demofunc(</span>)</span>
st4.</span>demofunc(</span>)</span>
输出
I am Steve
I got Rank 1
I am Chris
I got Rank 2
I am Mark
I got Rank 3
I am Kate
I got Rank 4