欢迎来到“只读课堂”!
In [1]:
#这节课继续上节课讲的
In [2]:
#实例变量的属性
构造函数init
init( self) 是一种特殊的方法,专门用在类中,称为类的构造函数或初始化方法,当你创建一个类的实例的时候就会调用这个方法;构造方法也支持重写,如果你没没有重写自己的构造函数,系统会有默认的构造函数用来执行。不需要我们显示的调用,一般构造函数在生成实例的过程中为实例初始化数据
注意:构造函数是不可以有返回值的
In [4]:
class A:
num = 1
In [5]:
A.num
Out[5]:
1
In [7]:
a = A()
In [9]:
a.num
Out[9]:
1
init
In [10]:
class A:
def __init__(self):
self.num = 1
In [11]:
a = A()
In [12]:
a.num
Out[12]:
1
In [13]:
b = A()
In [14]:
b.num
Out[14]:
1
In [15]:
a.num = 2
In [16]:
a.num
Out[16]:
2
In [17]:
b.num
Out[17]:
1
In [18]:
#b还是不受单独定义a的干扰
In [19]:
A.num
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-19-755dd02594ad> in <module>()
----> 1 A.num
AttributeError: type object 'A' has no attribute 'num'
In [20]:
#现在就不是在实例内的了,已经被修改了。
构造函数是不可以有返回值的。
In [22]:
#如果弄个返回值:
In [23]:
class A:
def __init__(self):
return 0
In [24]:
a = A()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-24-7f181d8f00b8> in <module>()
----> 1 a = A()
TypeError: __init__() should return None, not 'int'
In [25]:
#这样就是不可以的。
In [26]:
#它说是应该返回任何值
In [27]:
#也就是说,不应该写return。
本次只读课堂的python教程就到这了,欢迎下一次的收看!