一、绝对导入和相对导入
绝对导入:
默认都是以执行文件为准,从sys.path中查找
例如:from aaa import m2
相对导入:
主要使用的是句点符 .
.代表的是当前目录
..代表的是上一级目录
例如:from . import m2
from . bbb import m2
在执行文件中,不能出现相对导入
二、软件开发目录规范
规范不一定要遵守,可以按照自己的想法创建,但是,还是推荐按照规范来
bin:一般情况下里面写启动文件,当你的执行文件只有一个的时候,或者比较少的时候,可以放在项目的根目录中
start . py
run . py
core:主要写业务逻辑
src . py
api/interface:存放数据的
db_handler
lib:library:库文件,一般写公共文件
common . py
conf:config:配置文件,一般在配置文件中全大写
log:日志文件,方便排查错误
requestement . txt:保存第三方模块的模块名
readme:对项目的解释,类似于说明书
在Mac和Linux系统中使用:
ls:查看当前文件夹下的所有文件夹和文件
在Windows系统中的使用:
dir:查看当前文件夹下的所有文件夹和文件
三、正则表达式
正则表达式和语言没有关系,它是一门独立的语言
作为后端程序员,凡是牵涉到用户输入数据的地方,都要做参数校验
例如:手机号的特征:
1.必须是数字
2.手机号必须是11位
3.满足常见的手机号样式:13,15,18,19
正则表达式的格式:^(13|15|18|19)[0-9]{9}$
在Python中使用正则表达式需要借助于re模块
四、字符组
语法格式:[字符组]
[0123456789]:匹配0-9之间的任意一个数字
[0-9]:同上
[a-z]:匹配a-z的26个小写英文字母
[A-Z]:匹配A-Z的26个大写英文字母
[0-9a-zA-Z]:匹配大小写字母以及数字
五、字符
. 匹配除了换行符以外的任意字符
\w 匹配字母或数字或下划线
\d 匹配数字
\n 匹配一个换行符
^ 匹配字符串的开始
$ 匹配字符串的结尾
a|b 匹配字符a或b
() 匹配括号内的表达式,也表示一个组
[^...] 匹配除了字符组中字符的所有字符
六、量词
* 重复零次或更多次
+ 重复一次或更多次
?重复零次或一次
{n} 重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
七、贪婪匹配和非贪婪匹配
正则表达式默认是贪婪匹配