包及内置模块与软件开发目录规范
作者:互联网
-
目录
- 绝对导入与相对导入
- 包的简介
- 内置模块
- 软件开发目录规范
- 编程思想
-
绝对导入与相对导入
1.绝对导入:以执行文件所在的sys.path为起始路径 往下一层层查找
1.import cour.settings cour.settings.func() # 我拥有强大的功能
2.import sys
sys.path.append('D:\code\python\pythonProject1\day23\cour')
from cour import settings
settings.func() # 我拥有强大的功能
2.相对导入:相对导入可以不参考执行文件所在的路径 直接以当前模块文件路径为准
2.1 . 当前路径
2.2 .. 上一层路径
2.3 ../.. 上上层路径
2.4 相对导入在项目比较复杂的情况下容易出错,所以尽量少用推荐绝对导入
2.5 相对导入只能在模块文件中使用,不能在执行文件中使用
from . import settings01
from cour1.settings01 import func1
func1() # 哈哈哈哈
-
包的简介
1.定义:带有空的__init__.py文件的文件夹
2.作用:分类汇总存放多个py文件,为了方便管理
3.使用:import+包名 导入包名其实导入的是__init__.py文件
4.注:
针对python3解释器 其实文件夹里面有没有__init__.py已经无所谓了 都是包
但是针对Python2解释器 文件夹下面必须要有__init__.py才能被当做包
-
编程思想
1.小白阶段:面条版代码
2.函数阶段:按照功能封装函数
3.模块阶段:按照功能归类至不同模块
-
软件开发目录规范
1.bin文件夹:放置程序启动文件
2.conf文件夹:放置程序配置文件
3.cour文件夹:放置程序核心逻辑文件
4.lib文件夹:放置程序公共信息文件
5.db文件夹:放置程序数据文件
6.log文件夹:放置程序日志文件
7.interface文件夹:放置程序接口文件
8.readme文件:类似于说明书信息文件
9.requirements文件:第三方模块及说明信息文件
补充说明:在编写软件时可以不完全遵循列举的文件名
1.start.py可以放在bin文件夹下也可以直接放在项目根目录
2.db文件夹等我们学到真正的项目会被数据库软件替代
3.log文件夹等我们学到真正的项目会被专门的日志服务替代
-
内置模块
1.time模块
1.1 时间戳:time.time 现在至1970年1月1日0时0分0秒的秒数
import time print(time.time()) # 1657795727.8664849
1.2 结构化时间:time.getime
import time print(time.gmtime()) # time.struct_time(tm_year=2022, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=49, tm_sec=44, tm_wday=3, tm_yday=195, tm_isdst=0)
1.3 格式化时间:time.strftime
1.3.1 时间表达方式 :
time.strftime('%Y-%m-%d %T')
time.strftime('%Y-%m-%d %X')
time.strftime('%Y-%m-%d %H:%M:%S')
time.strftime('%H:%M:%S')
import time
print(time.strftime('%Y-%m-%d %T')) # 2022-07-14 18:59:02
print(time.strftime('%Y-%m-%d %X')) # 2022-07-14 18:59:02
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 2022-07-14 18:59:02
print(time.strftime('%H:%M:%S')) # 18:59:02
2.collections模块
2.1 双端队列deque:列表两端快速增加和删除数据
from collections import deque l1 = deque() l1.append(33) l1.append(44) l1.appendleft(55) print(l1) # deque([55, 33, 44])
2.2 具名元组namedtuple
from collections import namedtuple poker = namedtuple('坐标', ['x', 'y', 'z']) res = poker(10, 20, 15) print(res) # 坐标(x=10, y=20, z=15)
2.3 有序字典OrderedDict
from collections import OrderedDict l1 = dict([('a', 1), ('b', 2)]) print(l1) # {'a': 1, 'b': 2}
标签:-%,tm,内置,软件开发,包及,导入,文件夹,time,import 来源: https://www.cnblogs.com/040714zq/p/16479294.html