python-包和模块
一个py文件就是一个模块
包就是一个文件夹,文件夹里必须有__init__.py文件和其它模块或子包
导入包中的模块时,会自动执行这个文件
导入模块方式一:
有一个test3.py文件
class Dog: @staticmethod def jiao(): print('小狗汪汪')
下面导入模块并调用函数
import test3 #导入模块 dog = test3.Dog() dog.jiao()
注意:要跟上模块名
导入模块方式二:
from test3 import Dog #从test3模块中导入Dog类 dog = Dog() dog.jiao()
注意:不用跟模块名
用*导入
有一个模块:
__all__=['num1','num2','Dog'] #此模块被*导入时,标注哪些资源被导入 num1=111 num2=222 num3=333 class Dog: @staticmethod def jiao(): print('小狗汪汪')
导入模块时的执行过程:
模块第一次被导入时会执行三步:
1.在模块中创建模块对象
2.会执行模块中的代码;
3.将模块中所有顶级变量以属性模式绑定到模块对象中;
4.引入import后面的变量名称到当前的命名空间
后面再导入同一模块时,直接执行第4步
导入时的搜索顺序:
第一次导入时:内置模块-->sys.path
sys.path的构成:
1.当前路径
2.环境变量PYTHONPATH指定的路径
3.特定路径下的.pth文件中的文件列表
4.在python安装目录下lib库中搜索
import sys
print(sys.path) #返回搜索路径
返回值 列表
追加搜索路径:
方式一:
sys.path.append(r'.\t.py') #添加目录,本文件有效
方式二:修改环境变量PYTHONPATH-永久有效
右击电脑--->属性--->高级--->环境变量--->新建或编辑
在Pycharm中找到新建的路径:文件--->设置--->--->
--->--->
--->
--->
找到目录
方式三: 添加pth配置文件
1.找出这个特殊路径
import site
s=site.getsitepackages() #返回特殊路径,把pth文件放在这些路径下
#['E:\\python64', 'E:\\python64\\lib\\site-packages']
print(s)
2.创建pth文件
3.在pth文件中写入搜索路径
在模块中导入模块的方法:
print(__name__) from . import t1 # .表示模块t1所在的文件夹 #往上找能找到哪个文件夹为止,由__name__返回的路径决定(只能到返回的顶级路径)
注意:只能在模块中使用
一些指令:
print(os.__file__) #返回模块所在的路径
#E:\python64\lib\os.py
dir(os) #返回包或模块中的内容
__name__ 返回模块名称
py文件是直接以脚本执行的 返回值是:__main__
如果是导入的模块,返回值是:包名.模块名
天子骄龙
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)