系列文章目录
第一章 Python 基础知识
第二章 python 字符串处理
第三章 python 数据类型
第四章 python 运算符与流程控制
第五章 python 文件操作
第六章 python 函数
第七章 python 常用内建函数
第八章 python 类(面向对象编程)
第九章 python 异常处理
第十章 python 自定义模块及导入方法
第十一章 python 常用标准库
第十二章 python 正则表达式
第十三章 python 操作数据库
文章目录
- 系列文章目录
- 自定义模块
- 示例
- \__name__=="_main_" 作用
- 示例
- 模块帮助文档
- \__doc__
- help
- 总结
自定义模块
一个较大的程序一般应分为若干个程序块,若干个程序块称为模块,每个模块用来实现一部分特定的功能。
这样做的目的是为了将代码有组织的存放一起,方便管理和重复应用
# 定义一个模块
# vim mymodule.py
name = "wang"
def count(a,b):
result = a * b
return f"{a}与{b}的乘积是:{result}"
# 使用模块的方法:
# import <模块名称>
# from <模块名称> import <方法名>
# 注:模块名称即py文件名称
示例
# vim mymodule.py
name = "wang"
def count(a,b):
result = a * b
return f"{a}与{b}的乘积是:{result}"
class Calc():
def __init__(self,a,b):
self.a = a
self.b = b
def count(self):
return self.a * self .b
# vim de.py
# 使用模块的方法
import mymodule
# 调用变量
print(mymodule.name)
# 执行函数
print(mymodule.count(5,6))
# 执行类
calc = mymodule.Calc(5,6)
print(calc.count())
from mymodule import count # 导入单个的
# from mymodule import * # 导入所有的
print(count(5,6))
_name_==“main” 作用
mymodule.py作为一个模块,我们希望保留末尾测试代码,既上面调用函数和类,但也不希望再导入模块的时候执行。该怎么办呢?
可以利用Python文件的一个内置属性__name__实现,如果直接运行Python文件,__name__的值是"main",如果import一个模块,那么模块的__name__的值是"文件名" 。
示例
# vim mymodule.py
print(__name__)
# vim de.py
# 使用模块的方法
import mymodule
# vim mymodule.py
if __name__ == "__main__":
print("我再手动执行这个程序")
else:
print("其他程序调用了我")
# vim de.py
# 使用模块的方法
import mymodule
模块帮助文档
我们知道,在定义函数或者类时,可以为其添加说明文档,以方便用户清楚的知道该函数或者类的功能。
自定义模块也不例外,也可以添加说明文档,与函数或类的添加方法相同,既只需在模块开头的位置定义一个字符串即可
_doc_
# vim mymodule.py
'''
这是一个统计的模块
提供了有以下几种使用方法:
变量
函数
类
'''
name = "wang"
def count(a,b):
result = a * b
return f"{a}与{b}的乘积是:{result}"
class Calc():
def __init__(self,a,b):
self.a = a
self.b = b
def count(self):
return self.a * self .b
if __name__ == "__main__":
print("我再手动执行这个程序")
else:
print("其他程序调用了我")
vim de.py
# 使用模块的方法
import mymodule
# 查看模块帮助
print(mymodule.__doc__)
# 调用变量
print(mymodule.name)
# 执行函数
print(mymodule.count(5,6))
# 执行类
calc = mymodule.Calc(5,6)
print(calc.count())
from mymodule import count # 导入单个的
# from mymodule import * # 导入所有的
print(count(5,6))
import os
print(os.__doc__)
help
# 使用模块的方法
import mymodule
# 查看模块帮助
help(mymodule)
总结
以上就是今天学习的内容,本文仅仅简单学习了python自定义模块及导入使用。