ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

包及内置模块与软件开发目录规范

2022-07-15 08:31:06  阅读:215  来源: 互联网

标签:-% tm 内置 软件开发 包及 导入 文件夹 time import


  • 目录

    • 绝对导入与相对导入
    • 包的简介
    • 内置模块
    • 软件开发目录规范
    • 编程思想
  • 绝对导入与相对导入

   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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有