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脚本还是被引入执行的,从而能够有选择性的执行测试代码
例子:
#加法运算
defmy_sum(a,b):return a+b#1.开发完成之后需要自测#1.1一般需要创建一个函数 来完成自测
defmain():#定义一个变量
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 包名.模块名