1.python中__init__函数的理解
- 在创建类的时候往往会用到__init__函数 这一类两边带有下划线的函数往往是私有函数,只能在该类的内部使用。
- init 的本意就是初始化的意思,一般出现在程序创建类中的第一个函数 。例如:
- 其实也可以不用初始化。比如:
- 这样的话,我们初始化的类中也会有一个name参数,但这个参数已经固定了赋值为“red”
- 如果我们运用__init__函数,则声明了一个可以动态变化的参数name 例如:
- 结果就是"red2" ,当然,你也可以传递不同的参数。
- 我的理解就是__init__函数在创建类的开始,初始化一些参数,给后续的一些函数调用,而不是规定一个固定的值,使之更加灵活。在后续的爬虫过程中,我们可以初始化一些关于URL的参数让后续的函数调用
例如: - 在实例化类的时候传递一个tbname的参数,用来存放一个参数。
- 这里展示的是__init__函数里的参数在后续函数中的调用。
2. 2021年10月19日增加理解
先来一个例子:
class test01:
def __init__(self, top):
self.num = top
def push(self):
print('你好',self.num)
所有的类首先提供构造方法,构造方法定义了数据对象的创建方式,构造方法总是命名为__init__(即在 init 的前后分别有两个下划线),如上图中,形式参数包含2项,self是一个总是指向对象本身的特殊参数,它必须是第一 个形式参数。然而,在调用方法时,从来不需要提供相应的实际参数。构造方法中的 self.num 定义了test01 对象有一个叫作 num 的内部数据对象作为其状态的一部分。这个实际参数的值在初始时赋给了状态,使得新创建的 test01 对象能够知道其初始值。
要创建 test01类的实例,必须调用构造方法。使用类名并且传入状态的实际值就能完成调用(注意,不要直接调用__init__)。
a=test01(1)
a.push()
结果如下:
————————————————