zoukankan      html  css  js  c++  java
  • python包中__init__.py文件的作用

    python包中__init__.py文件的作用

    __init__.py文件最常用的作用是标识一个文件夹是一个 python包。

    __init__.py文件的另一个作用是定义模糊导入时要导入的内容。

    当我们使用类似 from package import * 的导入语句的时候就是在使用模糊导入了,这时包的编写者就可以在__init__.py文件中定义 __all__ 来限制模糊导入的内容。

    这样可以避免将一些只在包内使用的方法或变量暴露给用户。

    __init__.py还可以简化导入过程,比如:

    Django中的 models文件有时会有很多个表,并且每个表都有很多的属性和方法,这样就会使得 models文件变得很臃肿。

    所以我们会把创建一个 models包,在这个包里每个表都单独用一个 py文件来保存,但是这样在导入的时候会有一些麻烦。

    现在假设我们有一个 User表,按照上面我们的方法我们有一个 models文件夹,文件夹里有一个 User.py文件,这个文件里保存着我们的 User表的类。

    这样当我们在其他文件导入 User类时的导入语句就是 from app.models.User import User 但是我们更习惯原来的写法 from app.models import User

    这时我们就可以在 models里的 __init__.py文件中导入 User类,这样我们就可以使用原来的写法来导入User类了。

    # models.__init__.py
    from .User import User
  • 相关阅读:
    1分钟快速生成用于网页内容提取的xslt
    Python即时网络爬虫项目: 内容提取器的定义
    Python读取PDF内容
    Golang基础(二)
    shell的sed命令
    matplotlib + pandas绘图
    关于字符编码:ascii、unicode与utf-8
    shell的sort命令
    shell的uniq命令
    shell的tr命令
  • 原文地址:https://www.cnblogs.com/leijiangtao/p/11758375.html
Copyright © 2011-2022 走看看