Python的模块调用给包的使用
名字查找顺序
模块的相对导入和绝对导入
包的使用
软件开放目录命名规范
正则表达式(简单了解)
名字查找顺序
以后再给文件名或者叫模块名起名字的时候一定不能跟内置模块名冲突
1. 先从内存中查找
2. 再从内置模块中查找
3. 最后去环境变量sys.path中查找
"""如果找不到,那就去sys.path中查找"""
import sys
print (sys.path)
以后遇到模块找不到的情况:
1. 把模块所在的路径添加到sys.path中
import sys
sys.path.append(r'D:\Python27\day20\aaa\bbb' )
2. 使用from ...import 句式
from aaa.bbb.ccc import m1(路径+文件名)
from aaa.bbb.ccc.m1 import f1(路径.文件+调用函数名)
f1()
m1.f1()
模块的相对导入和绝对导入
"""在导入模块的时候,模块的查找始终以执行文件所在的路径为准"""
绝对导入:
它始终是以执行文件所在的sys.path路径为基准查找
相对导入:
"""
.(句点符)
. 代表的是当前路径
.. 代表的是上一级路径
"""
from .ccc import m2
from .ccc.ddd import m2
只要py文件中出现了相对导入语句(.开头的语句),那么,这个文件就不能当成执行文件了,只能被导入
包的使用
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。
简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。
__init__.py|(下面写)
from .ddd.m3 import f3
软件开放目录命名规范
软件开发目录规范就是跟项目中得文件夹起合适的名字的!
项目名:
bin
如果你的启动文件只有一个,也可以不要bin 文件夹,可以把启动文件写在项目的跟下
conf (config:配置)
settings.py
'''就是一些初始化的数据'''
core
src.py
def login ():
pass
def register ():
pass
lib
common.py
def outer ():
pass
log
log.log
db
跟项目相关的数据存储都存在db、data
api/
setup.py
|-- requirements.txt
taobao
time
os
requests
xml
...
reqeusts == 1.11 .1
xml = 1.1 .1
|-- README
正则表达式(简单了解)
import re
phone_number = input ('please input your phone number : ' )
if re.match('^(13|14|15|18)[0-9]{9}$' ,phone_number):
print ('是合法的手机号码' )
else :
print ('不是合法的手机号码' )
正则表达式:
利用一些特殊的符号匹配出我们想要的数据
正则表达式它是一门独立的语言,跟Python、Java等语言没有关系的
所以,如果想在Python中使用正则表达式,需要借助于re模块,内置的
import re
"""我们只学习正则的基础,就学习一些简单的正则够我们开发使用就行了"""
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)