Python|模块,包,标准模板

时间:2022-05-06
本文章向大家介绍Python|模块,包,标准模板,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

01

.py文件-模块

一个.py文件就称之为一个模块,Module,模块使用的最大好处是大大提高了代码的可维护性。

当然,还提高了代码的复用性。

使用模块还可以避免函数名和变量名冲突,相同名字的变量完全可以分别存在不同的模块中。

但是也要注意,变量的名字尽量不要与内置函数名字冲突。

常见的内置函数:https://docs.python.org/3/library/functions.html

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'

以上是模块的标准模板,当然,你也可以不这样做...