python中模块的制作
1.import 模块名
2.from 模块名 import 类名(或方法名或全局变量)
3.from 模块名 import * 导入模块名下的所有类名,方法,全局变量
4.from 模块名 import 类名(或方法名或全局变量) as 别名 原来的名称太长,给它起个别名
5.定位模块:
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
- 当前目录
- 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
- 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
- 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
6.自定义模块方法一
(1)首先认识一个变量 __name__
__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称。
__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。
使用这个变量的结果可以判断是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码
例子:
# 加法运算
def my_sum(a,b):
return a+b # 1.开发完成之后需要自测
# 1.1一般需要创建一个函数 来完成自测
def main():
# 定义一个变量
ret=my_sum(10,20)
print(ret) # 书写格式一般都会这么些(开发常用于测试或者作为程序的入口)
# 默认情况下,在本模块内执行这个模块,当前的这个python的变量__name__的值为__main__
if __name__ == '__main__':
main()
7.自定义模块方法二:
(1)使用__all__,只有使用from xxx import * 的时候__all__才能产生作用。如果在一个模块中,定义了很多的类,方法,全局变量,如果使用from xxx import * 的方法使用该模块,而又不想让使用模块中的某些类,方法或者全局变量,那么就需要在该模块里写上__all__=[],在列表里写上允许导入的类,方法,全局变量,如果不在这个列表里注册,就不能使用该类,方法或者全局变量了。
__all__=["name","sum","Student"]
==================================
python中的包
(1)python中的包会有一个__init__.py模块。在python3.x没有__init__.py也可以正常使用,但是在python2.x中必须有__init__.py
(2)在包中的__init__.py中定义all=[在这里面添加你想要导入的模块名]
(3)同理在每个模块下__all__=[]添加你允许导入的类名,方法名,全局变量
(4)使用from 包名.模块名 import * 导入模块(1)(2)(3)才能生效
其他导入方法:import 包名.模块名
最新文章
- kafka源码分析之二客户端分析
- yii 核心类classes.php详解(持续更新中...)
- 学韩顺平老师linux教程--笔记
- FIleText转换为JSONObject对象
- Linux学习笔记-Ubuntu添加右键菜单打开终端
- hdu 1029
- windows 7 打开控制面板的命令
- ASP.NET从数据库中取出数据,有数据的复选框为选中
- 详细理解 >; /dev/null 2>;&;1
- Android混淆打包配置总结
- jquery获取value值
- Enabling Active Directory Authentication for VMWare Server running on Linux《转载》
- JavaScript的实现
- Ant Design UI组件
- jboss7.1.1相关error及解决办法
- 【codeforces 983E】NN country
- leetcode — symmetric-tree
- C#序列化与反序列化。
- Firefly-RK3399笔记
- delphi 中OutputDebugString 函数的妙用(转载)