Python的工程化:使用模块
· 正 · 文 · 来 · 啦 ·
随着人工智能,机器学习,深度学习,AI 的发展,python 迅速发展壮大起来,今天花三分钟时间学习python模块工程化。01.py文件-模块
一个.py文件就称之为一个模块,Module,模块使用的最大好处是大大提高了代码的可维护性。
当然,还提高了代码的复用性。
使用模块还可以避免函数名和变量名冲突,相同名字的变量完全可以分别存在不同的模块中。
但是也要注意,变量的名字尽量不要与内置函数名字冲突。
常见的内置函数:网页链接
02包
当编写的模块多了,模块的名字重复的概率就增加了。如何解决这个问题呢?
Python引入了按目录来组织模块,称为包,Package,比如:
extensions
├─ __init__.py
├─ dog.py
└─ cat.py
现在 dog.py模块的名字就变成了extensions.dog,
请注意,每一个package目录下面都会有一个__init__.py 的文件,这个文件是必须有的,否则,Python就把这个目录当成普通目录,而不是一个package directory。
03使用包中的Module
编写一个dog.py模块:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' a test module '
__author__ = 'jack guo'
import sys
def shout():
args = sys.argv
if len(args)==1:
print('Hello, I'm afei, welcome to world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Yes,sir')
if __name__=='__main__':
shout()
第1行注释可以让dog.py文件直接在linux上运行;
第2行注释表示.py文件本身使用标准UTF-8编码;
第4行表示模块的文档注释;
第6行表示模块的作者;
注意最后两行代码,当我们调试dog.py时,shout()会调用,当在其他模块导入dog.py时,shout()不执行。
04模块的一种标准模板
以上代码中的前六行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' a test module '
__author__ = 'jack guo'
以上是模块的标准模板,当然,你也可以不这样做...
最后,想学习Python的小伙伴们!
请关注+私信回复:“学习”就可以拿到一份我为大家准备的Python学习资料!
pytyhon学习资料
python学习资料