1、模块
1)模块的理解
模块就是一个包含了Python定义和声明的".py"文件
python导入模块默认是从当前目录当前文件查找模块
注意:自定义的python文件的文件名一定不要和已有模块名冲突
定义一个hello.py文件:
我们可以在同一个目录下导入使用这个模块:
执行结果如下:
导入模块实际就是加载并执行一遍这个模块的内容
也可以只导入一部分信息:
2)模块的其他信息
import sys
print(sys.path) #模块的查询路径
import hello
print(dir(hello)) #查看hello模块可以使用的变量和函数
print(hello.__doc__) # 查看模块的说明文档
print(hello.__file__) # 显示模块的绝对路径
print(hello.__name__) # 显示模块名称
执行结果如下:
3)name的特殊用法
运行这个模块:
结果如下:
当在模块内部执行__name__的值为__main__。
当模块被导入时,__name__的值为模块名。
4)all的用法
在模块中加入__all__
执行此代码会报错:
__all__当用户使用from module import * 时,需要导入的内容
2、包
1)包是什么
Python通过模块来组织代码,模块就是一个py文件,是通过“包”来加以组织的,而“包”则是一个包含了__init__.py
的文件夹。
代码、模块和包三者的关系就是:“包”包含模块且至少包含了一个__init__.py
,模块包含代码。
简单来说,包就是文件夹,并且该文件夹下必须有__init__.py
文件,该文件的内容可以为空,__init__.py
用于标识当前文件夹是一个包。
2)导入包的方式
创建一个包sdk,创建两个模块,两个模块类似,主要看效果:
在__init__.py
中输入内容:
导入包并执行:
输出如下:
导入包的实质就是在执行__init__.py
的内容
1)方法一
从包里导入:
2)方法二
编辑__init__.py
内容
这样就能直接导入: