07Python模块化编程
Posted po1i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07Python模块化编程相关的知识,希望对你有一定的参考价值。
-
包
-
模块
模块是一个包含所有你定义的函数和变量的文件,其后缀为.py(就如我们编写的程序就是一个模块),可被其他程序引入。以使用该模块的函数等功能
模块分为三种:
1.内置模块:sys,os,subprocess,time等
2.自定义模块:人为自己编写的模块,莫与自带模块一个名
3.开源模块:可安装下载各种牛逼的模块
-
函数
1.函数的定义
格式:
def 函数名(形参表): 函数体语句序列 []#可选项,即可以没有返回值
函数调用:
函数名(实参表)
说明 :
函数必须先定义再使用
函数名与变量名的命名规则相同,只能包含字母,数字,下划线,且不能以数字打头
例:
def start(): print("Hello World!") if __name__ == ‘__main__‘: try: start() except KeyboardInterrupt: print(‘被终止‘)
2. 局部变量和全局变量
局部变量:
只作用于函数或代码块内。作用范围有限。
全局变量:
可被不同的函数/类/文件共享。可被文件内部任何函数和外部文件访问。全局变量通常在文件的开始处定义。
3. 模块安装及使用
现在已经安装的模块,查询:
>>>help(‘modules‘)
查看现在已安装的所有模块
3.1 模块的安装及镜像的替换
在internal终端,输入 pip install xx即可安装模块。可直接输入命令pip install -i 镜像源 包
或者直接更换为国内镜像源,以后不用再搜索。可以加快下载速度。
提供几个常见的国内镜像源网站:
3.2 pip命令
pip install <第三方库> #安装库 ? pip insatall -U<第三方库> #更新已安装的库 ? pip show<第三方库> #列出库的详细信息 pip uninstall<第三方库> #卸载 pip list #列出已经安装的第三方库
3.3 模块导入方式
1.import 模块 as 别名
import 直接导入模块
import math
a=math.exp(2)
2.from ... import ...
用于只导入指定模块的部分属性
from math import exp
a = exp(2)
4. 自定义包和模块
4.1 理解name属性
每个py脚本运行时都有一个name属性:
若py文件独立运行则,__name__== __main__
若py文件作为模块导入,则其name属性__name__== __xx__
例:
《Used_by.py》
if __name__ == ‘__main__‘: print(‘我是直接运行的‘) elif __name__ == ‘Used_by‘: print(‘Used_by模块被调用了‘)
《理解包和模块》
import Used_by if __name__ == ‘__main__‘: ? print(‘------我是另一个模块,特意来调用别的模块-------‘)
运行结果:
(venv) λ python Used_by.py
我是直接运行的
?
?
(venv) λ python 理解包和模块.py
Used_by模块被调用了
------我是另一个模块,特意来调用别的模块-------
4.2 如何使用包或者定义包和模块
包可以用来管理多个模块,可看作包含大量py模块的文件夹。在每个包的目录中都有一个__init__.py
的文件,其可以是一个空文件,只为标识档期那文件夹是一个包。
__init__.py
文件:
主要作用设置 __all__
以上是关于07Python模块化编程的主要内容,如果未能解决你的问题,请参考以下文章