07Python模块化编程

Posted po1i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07Python模块化编程相关的知识,希望对你有一定的参考价值。

Python模块化编程

  • 模块

    模块是一个包含所有你定义的函数和变量的文件,其后缀为.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模块化编程的主要内容,如果未能解决你的问题,请参考以下文章

妙啊,这14个经典的 Python 代码模块真香

常用python日期日志获取内容循环的代码片段

如何在 python 中并行化以下代码片段?

翻译:《实用的Python编程》01_07_Functions

以编程方式在嵌入式 python 3 中定义包结构

Python - 模块