python中def _init_是什么意思_python中的__init__

一.python中的__init__.py文件作用

1.__init__.py是Python中package的标识

__init__.py 文件的一个主要作用是将文件夹变为一个Python模块也称为包,Python 中的每个模块的包中,都有__init__.py 文件python的每个模块对应的包中都有一个__init__.py文件的存在,且该文件不能删除,否则该文件夹将不再被视为模块。

2.定义__all__变量实现模糊导入

_init__.py 中有一个重要的变量,叫做 __all__。我们可以通过__all__变量实现“模糊导入”,或说是全部导入,也就是这样:from 模块名 import *,这时 import 就会把注册在__init__.py 文件中 __all__ 列表中的子模块和子包全部导入到当前作用域中来。

3.编写python代码

通常__init__.py文件为空,但它仍是一个python文件,但不建议在__init__中写python模块,可以在包中创建另外的python文件来写模块,尽量保证__init__.py简单。

二.python中的def __init__(self):方法

1.__init__(self):方法的作用

该函数为类的构造函数,一般情况下,在一个类中,包含构造函数和成员函数,在构造函数中,定义了成员变量并给成员变量赋值,构造函数的形参与成员变量有关。且对于同一个对象而言,成员函数可以被调用多次,构造函数只能被调用一次。

2.__init__(self):方法语法

__init__方法的命名固定,不能自定义命名。__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。有了__init__函数,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但默认参数self不需要传,Python解释器自己会把实例变量传进去。

3.__init__(self):方法其他参数命名

在参数方面,和普通成员方法相比,构造方法的第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,构造方法和普通成员方法的参数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。

你可能感兴趣的:(python中def,_init_是什么意思)