P 面向对象 | 模块与包

2019-10-03  本文已影响0人  Ricsy


一、模块

名称 描述
模块 每一个以扩展名.py结尾的python源代码文件都是一个模块

1. 模块就好比工具包,要是用这个工具包中的工具,就需要导入这个模块

2. 在模块中定义的全局变量函数都是提供给外界直接使用的工具
模块名 模块名同样也是一个标识符,需要符合标识符命名规则
模块别名 模块名太长,为了方便代码中使用,可以使用as取模块别名

1. 必须符合大驼峰命名法

1.1 模块的导入与使用

提示:

  • 所有没有任何缩进的代码是可直接执行的代码,一般在导包后,不需要被调用执行的测试代码,需要进行以下处理
def main():
   """
   测试代码
   """
   pass


if __name__ == '__main__':
   main()

1.1.1 全部导入

import

import 模块名1 [as 模块别名1] 
import 模块名2 [as 模块别名2]
...
import 模块名n [as 模块别名n]

1.1.2 局部导入

第一种方式:导入部分工具
from ...import

from 模块名1 import 工具名1 [as 工具别名1] 
from 模块名2 import 工具名2 [as 工具别名2]
...
from 模块名n import 工具名n [as 工具别名n]
from ...import *

不推荐,函数冲没有提示,出现错误不好排查


1.2 模块的搜索顺序

先搜索当前目录的指定模块名的文件,如果有就直接导入,如果没有就搜索系统目录

提醒:

  • 开发时,模块名不要与系统模块文件名重名,否则会由于优先级导致系统模块无法使用

eg:

import random

print(random.__file__)

参阅:


1.3 发布模块

1.3.1 制作发布压缩包

from distutils.core import setup


setup(
    name='my_test',  # 包名
    version='1.0',  # 版本
    description='',  # 描述信息
    long_description='',  # 完整描述信息
    author='',  # 作者名
    author_email='',  # 作者邮箱
    url='',  # 主页
)

1.3.2 安装模块

1.3.2 删除模块


二、包

包 = .py文件(模块)+__init__.py(特殊文件)
import 包名可以一次性导入包中的所有模块

2.1 __init__.py

from . import 模块名1
from . import 模块名2
...
from . import 模块名n

更新中......


上一篇 下一篇

猜你喜欢

热点阅读