首页 > 其他分享 >包的概念、开发目录规范、常见内置模块知识合集

包的概念、开发目录规范、常见内置模块知识合集

时间:2022-10-19 17:01:49浏览次数:51  
标签:tm 内置 py 文件夹 模块 time print 合集

包的概念、开发目录规范、常见内置模块知识合集

目录

一、包的具体使用

1.什么是包
  包就是内部含有__init__文件的文件夹,该文件夹可包含多个模块文件,包也可以理解为管理多个模块文件的文件夹
2.包有什么用
  包的作用就是包含多个模块,例如我们下载第三方模块numpy时,模块下会产生一个numpy文件夹,里面包含了numpy管理的多个模块
3.使用
 eg:
     from demo import a,b
# 导入包名就是导入里面的__init__文件,该文件内有什么名字就可以通过包名点什么名字使用
在Python解释器中,包文件夹内有没有__init__.py文件已经不重要了,但是在Python2中解释器中文件夹必须用__init__.py文件才能当做一个包,不然他只是一个文件

二、编程思想的转变

目前会经历的三个阶段:
1.小白阶段
  懂得不多,写代码的时候只会像面条一样从上往下的逻辑写,全部堆在一起
2.函数阶段
  有了一点的函数思维了,根据功能封装不同的函数,然后进行调用
3.模块阶段
  能够应用别人的东西写简洁的代码,根据功能的不同拆分成不同的py文件

三、软件开发目录规范

为什么要规范文件目录?
  为了程序的可读性和可维护性,当我们吧项目文件进行分类之后大大提高了后期的维护和查看,只需要到对应的文件夹名下找到具体的文件进行查看就好了
文件名 作用 写法
bin文件夹 用于存放项目的启动文件 start.py
conf文件夹 用于存放配置文件 setting.py
core文件夹 用于存放核心逻辑文件 src.py
db文件夹 用于存放数据文件 userinfo.py
lib文件夹 用于存放程序的公共功能文件 common.py
log文件夹 用于存放日志文件 log.log
interface文件夹 用于存放接口文件 user.py/order.py
readme文件夹 用于存放项目的说明书 /
requirements文件夹 用于存储程序所需的第三方模块名和版本 requirements.txt

四、常见内置模块之collections

1.具名元组namedtuple

from collections import namedtuple
point = namedtuple('坐标系',['x','y'])
res = point(99,66)
print(res)     # 坐标系(x=99, y=66)
print(res.x)   # 99
from collections import namedtuple
card = namedtuple('扑克牌', ['num', 'color'])
c1 = card('J', '红♠')
c2 = card('K', '黑♥')
print(c1, c1.num, c1.color)      # 扑克牌(num='J', color='红♠') J 红♠
print(c2, c2.num, c2.color)      # 扑克牌(num='K', color='黑♥') K 黑♥

2.双端队列deque

from collections import deque
a = deque()
a.append(11)
a.append(22)
a.appendleft(999)
print(a)         # deque([999, 11, 22])
队列与堆栈:
    队列:先进先出
    堆栈:先进后出

3.有序字典OrderedDict

from collections import OrderedDict
d = dict([('a',1),('b',2),('c',3)])
print(d)                     # {'a': 1, 'b': 2, 'c': 3}
od = OrderedDict([('a',1),('b',2),('c',3)])
print(od)                    # OrderedDict([('a', 1), ('b', 2), ('c', 3)])

4.计数Counter

from collections import Counter
res = 'ahhgggasdggdhhdsgcsxshshhsggahaaaa'
res1 = Counter(res)
print(res1)    
# Counter({'h': 8, 'g': 8, 'a': 7, 's': 6, 'd': 3, 'c': 1, 'x': 1})

五、常见内置模块之时间模块

1.常见时间格式化符号

符号 属性
%y 表示年份(00-99)
%m 表示月份(1-12)
%d 表示一年中的天数(1-31)
%H 表示24小时制的时数(0-24)
%I 表示12小时制的时数(0-12)
%M 表示分钟(0-59)
%S 表示秒数(0-59)
%w 表示星期几
%X 表示当地的日期表示

2.时间戳

时间戳表示从1970-1-1-0时到现在经过了多长时间
import time
now = time.time()
print(now)    # 1666168383.992469
print(time.localtime())   # time.struct_time(tm_year=2022, tm_mon=10, tm_mday=19, tm_hour=16, tm_min=33, tm_sec=3, tm_wday=2, tm_yday=292, tm_isdst=0)
print(time.strftime('%Y-%M-%d'))  # 2022-10-19
print(time.strftime('%Y-%M-%d %H:%M:%S'))  # 2022-10-19 16:35:16
print(time.strftime('%Y-%M-%d %X'))      # 2022-10-19 16:35:16
# strftime格式化时间

3.格式化时间

from datetime import
d=datetime.strptime('2017/9/30','%Y/%m/%d')
print(d)  # 2017-09-30 00:00:00
e=datetime.strptime('2017年9月30日星期六','%Y年%m月%d日星期六')
print(e)
f=datetime.strptime('2017年9月30日星期六8时42分24秒','%Y年%m月%d日星期六%H时%M分%S秒')
print(f)
# strptime 按照特定时间格式将字符串转换为时间类型

六、常见内置模块之随机数模块

产生图片验证码
def get_code(n):
    code = ''
    for i in range(n):
        range_upper = chr(random.randint(65,90))
        range_lower = chr(random.randint(97,122))
        range_int = str(random.randint(0,9))
        temp = random.choice([range_upper,range_lower,range_int])
        code += temp
    return code
res = get_code(5)
print(res)   # 9UhL6

标签:tm,内置,py,文件夹,模块,time,print,合集
From: https://www.cnblogs.com/zx0524/p/16806968.html

相关文章

  • 内置模块之collections
    内置模块之collections具名元组:nametuple具名元组就是对元组和元组元素都命名了。命名后,除了更好辨识,还可以通过元组元素的名字来取值了(可以不限于索引取值了)fromcoll......
  • 模拟赛下饭操作合集
    开场可以对每个题冲\(15\min\),一般简单题\(15\min\)是可以想出来的,一定要利用好每题的\(15\min\)。\(15\min\)确定会的题可以直接写,其他题不要多想直接拼暴力,如果拼......
  • 常见的内置模块
    包的具体使用  导入包里面的模块可以使用from...import...如果使用import...导入包时,则包名下必须包含__init__.py文件该文件内有什么名字就可以......
  • ubuntu20.04内核升级,增加kvm模块
    ubuntu20.04内核升级,增加kvm模块原创 南哥小白 南小白攻防 2022-03-3115:43    本操作主要是升级内核,体验一下源码编译内核的操作步骤。准备虚拟机以及......
  • ModStartCMS v5.0.0 模块市场优化,模型类型修改
    企业内容建站系统ModStartCMSv5.0.0模块市场优化,模型类型修改系统介绍ModStart是一个基于Laravel模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安......
  • 在线问题反馈模块实战(十)​:实现图片预览功能
    ......
  • 文件系统模块3(拆分文件案例)
    //导入constfs=require('fs')constpath=require('path')//匹配正则表达式//样式constregStyle=/<style>[\s\S]*<\/style>///jsconstregScript=/<s......
  • 文件系统模块2(path模块化,)
    1,拼接路径constfs=require('fs')constpath=require('path')fs.readFile(path.join(__dirname,'path'),'utf8',function(err,dataStr){if(err){return......
  • 文件系统模块1(导入,写入)
    1导入fs模块constfs=require('fs')2,读取文件内容fs.readFlie(path,'utf8',function(err,dataStr){console.log(err)console.log('-----')console.log(dataStr)......
  • Python 操作Excel-openpyxl模块使用
    openpyxl的用法实例1.1Openpyxl库的安装使用openpyxl模块是一个读写Excel2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一......