首页 > 其他分享 >### 包的具体使用,软件开发目录规范,常用内置模块之collections模块,常用内置模块之时间模块,常用内置模块之随机数模块

### 包的具体使用,软件开发目录规范,常用内置模块之collections模块,常用内置模块之时间模块,常用内置模块之随机数模块

时间:2022-10-19 20:33:16浏览次数:42  
标签:常用 内置 random datetime 模块 time print import

包的具体使用

虽然python3对包的要求降低了 不需要__init__.py也可以识别 但是为了兼容性考虑最好还是加上__init__.py

1.如果只想用包中某几个模块 那么还是按照之前的导入方式即可
	from aaa import md1, md2  # aaa包名   # md1 md2 模块名
2.如果直接导入包,包里的模块用点的方式用不了
	import aaa  # 导入包,在点模块内的名字用不了
    1.导入包名其实就是导包下面的__init__.py文件
    2.该文件内有什么名字就可以通过包名点什么名字
    3.想用包名点的方式用其它模块里的名字
    4.需要在__init__.py文件里提前把其它模块的名字from aaa import md1,md2提前调用

编程思想的转变

1.面条版阶段
	所有的代码全部堆叠在一起
2.函数版阶段
	根据功能的不同封装不同的函数
3.模块版阶段
	根据功能的不同拆分成不同的py文件
"""
第一个阶段可以看成是直接将所有的数据放在C盘
	视频 音频 文本 图片
第二个阶段可以看成是将C盘下的数据分类管理
	视频文件夹 音频文件夹 文本文件夹 图片文件夹
第三个阶段可以看成是将C盘下的数据根据功能的不同划分到更合适的位置
	系统文件夹 C盘	
	视频文件夹 D盘
	图片文件夹 E盘
ps:类似于开公司(小作坊 小公司 上市公司)
	为了资源的高效管理
"""

软件开发目录规范

1.文件及目录的名字可以变换 但是思想是不变的 分类管理
2.目录规范主要规定开发程序的过程中针对不同的文件功能需要做不同的分类
myproject项目文件夹
    1.bin文件夹	  主要存放项目启动文件  
        start.py 	启动文件可以放在bin目录下 也可以直接在项目根目录 
	 2.conf文件夹		主要存放项目配置文件
    	 settings.py  里面存放项目的默认配置 一般都是全大写
 	 3.core文件夹		主要存放项目核心文件
    	  src.py    里面存放项目核心功能
 	 4.interface文件夹	 主要存放项目接口文件
    	  goods.py 	  根据具体业务逻辑划分对应的文件
         user.py
        account.py
 	 5.db文件夹		主要存放项目相关数据
    	  userinfo.txt
       	 db_handler.py   存放数据库操作相关的代码
	 6.log文件夹		主要存放项目日志文件
         log.log
 	 7.lib文件夹		主要存放项目公共功能
    	  common.py	 
	 8.readme文件		 主要存放项目相关说明
 	 9.requirements.txt文件  主要存放项目所需模块及版本

常用内置模块之collections模块

1.具名元组:namedtuple  # 有名字的元组
    from collections import namedtuple # 调用模块

    # 表示二维坐标系
     point = namedtuple('点', ['x', 'y'])
    # 生成点信息
     p1 = point(1, 2)
     print(p1)  # 点(x=1, y=2)
     print(p1.x)  # 1  也能取单独的一个值出来
     print(p1.y)  # 2

    card = namedtuple('扑克牌', ['num', 'color'])
    c1 = card('A', '黑♠')
    c2 = card('A', '红♥')
   print(c1, c1.num, c1.color) #扑克牌(num='A', color='黑♠') A 黑♠
   print(c2, c2.num, c2.color) #扑克牌(num='A', color='红♥') A 红♥
 -----------------------------------------------------------------------
了解
1.队列
    from multiprocessing import Queue # 调用模块
    q = Queue(3) # 只能进三个
    q.put(111) #放数据
    print(q.get()) # 取数据
	队列与堆栈
		队列:先进先出
 		堆栈:先进后出
	队列和堆栈都是一边只能进一边只能出
    
2.有序字典
	from collections import OrderedDict
    od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
    print(od)
    # OrderedDict([('a', 1), ('b', 2), ('c', 3)]),有顺序的字典
    for i in od:   # 添加值取值都按key的顺序
       print(i)
   # a                                                   b                                                   c  

3.计数器 #统计每个字符的个数,组成一个字典
from collections import Counter
res = 'abahajansehfad'
ret = Counter(res)
print(ret)
Counter({'a': 5, 'h': 2, 'b': 1, 'j': 1, 'n': 1, 's': 1, 'e': 1, 'f': 1, 'd': 1})

常用内置模块之时间模块

import time
"""
三种时间表现形式
    1.时间戳   # Timestamp
        秒数
    2.结构化时间 # struct_time
        主要是给计算机看的 人看不适应
    3.格式化时间  # Format string
        主要是给人看的
"""
 print(time.time())  # 1666150097.5481427  时间戳
 print(time.strftime('%Y-%m-%d'))  # 2022-10-19  Y年m月d日
 print(time.strftime('%Y/%m/%d'))  # 2022/10/19
 print(time.strftime('%Y/%m/%d %H:%M:%S'))  # 2022/10/19 11:30:20
# H时M分S秒,都是大写
 print(time.strftime('%Y/%m/%d %X'))  # 2022/10/19 11:31:18
# 大写X也表示时分秒
time.sleep(10)  # 让程序原地阻塞指定的秒数

结构化时间转-----格式化时间-------strftime
结构化时间转-----时间戳-----------mktime

格式化时间转-----结构化时间-------strptime
时间戳转---------结构化时间-------iocaltime




# import datetime
# print(datetime.datetime.now())  # 2022-10-19 11:58:23.682282
# print(datetime.datetime.today())  # 2022-10-19 11:58:23.682282
# print(datetime.date.today())  # 2022-10-19
'''
datetime 年月日 时分秒
date     年月日
time     时分秒(后续会有此规律)
'''
# from datetime import date, datetime
# print(date.today())
# print(datetime.today())
# print(datetime.utcnow())
# import datetime
# c = datetime.datetime(2017, 5, 23, 12, 20)
# print('指定日期:',c)  # 指定日期: 2017-05-23 12:20:00
from datetime import datetime
# 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)
import datetime
# ctime = datetime.date.today()
# print(ctime)
# time_del = datetime.timedelta(days=3)
# print(ctime + time_del)

# ctime = datetime.datetime.today()
# print(ctime)
# time_del = datetime.timedelta(minutes=20)
# print(ctime + time_del)

常用内置模块之随机数模块

import random

 print(random.random())  # 随机产生0到1之间的小数
 print(random.randint(1, 6))  # 随机产生1到6之间的整数
 print(random.randrange(1, 100, 2))  # 随机产生指定的整数
 print(random.choice(['一等奖', '二等奖', '三等奖', '谢谢惠顾']))  # 随机抽取一个样本  二等奖  保留数据值
 print(random.choices(['一等奖', '二等奖', '三等奖', '谢谢惠顾']))  # 随机抽取一个样本   ['二等奖']  保留文件类型
 print(random.sample(['jason', 'kevin', 'tony', 'oscar', 'jerry', 'tom'], 2))  # 随机抽指定样本数  ['tom', 'jerry']
 l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
 random.shuffle(l1)  # 随机打乱数据集
# [8, 6, 'K', 3, 7, 2, 'A', 'Q', 5, 4, 9, 'J', 10]


'''产生图片验证码: 每一位都可以是大写字母 小写字母 数字  4位'''
def get_code(n):
    code = ''
    for i in range(n):
        # 1.先产生随机的大写字母 小写字母 数字
        random_upper = chr(random.randint(65, 90))
        random_lower = chr(random.randint(97, 122))
        random_int = str(random.randint(0, 9))
        # 2.随机三选一
        temp = random.choice([random_upper, random_lower, random_int])
        code += temp
    return code

res = get_code(10)
print(res)
res = get_code(4)
print(res)

标签:常用,内置,random,datetime,模块,time,print,import
From: https://www.cnblogs.com/8564129qwe/p/16807658.html

相关文章

  • 前端程序员常用的VScode插件推荐
    前端程序员VScode几款好用的插件推荐   Chinese(Simplified)(简体中文)LanguagePack                  将VScode汉化,对于......
  • python常用内置模块
    今日内容包的具体使用虽然python3对包的要求降低了不需要__init__.py也可以识别但是为了兼容性的考虑最好还是加上__init__.py1.如果只想用包中某几个模块那么还是......
  • 内置模块
    1.常用内置模块之collections模块1.具名元组:namedtuole:可以使用第一个元素的名字来修饰元组fromcollectionsimportnamedtuplepoint=namedtuple('位置坐标',['x......
  • 内置模块
    今日内容概要包的具体的使用编程思想的转变软件开发目录规范常见内置模块之collections模块常用内置模块之时间模块常用内置模块之随机数模块今日内容详情包的......
  • 软件开发目录与常见内置模块
    今日内容详细包的具体使用虽然python3对包的要求降低了不需要__init__.py也可以识别但是为了兼容性考虑最好还是加上__init__.py1.如果只想用包中某几个模块那么还......
  • 时间模块和随机数模块
    Day18软件开发目录规范今日内容概要包的具体使用编程思想的转变软件开发目录规范python常用内置模块今日内容详细包的具体使用虽然python3对包的要求降低了不需......
  • 包的具体使用,编程思想,开发目录规范, 常用内置模块
    目录一.包的具体使用二.编程思想的转变三.软件开发目录规范bin文件夹conf文件夹core文件夹interface文件夹db文件夹log文件夹lib文件夹readme文件夹requirements.txt文件四......
  • 20、python模块 包的使用、软件开发目录规范、常用内置模块
    目录一、包的使用1、什么是包2、包的具体使用1、常规导入2、直接导入包名二、编程思想转变1、面条阶段2、函数阶段3、模块阶段三、软件目录开发规范1、bin2、conf3、core4......
  • python进阶之路17 包的使用、collections、time、random模块
    包大白话:多个py文件的集合>>>:文件夹专业:内部含有__init__.py文件的文件夹(python2必须要求python3无所谓)包的具体使用虽然python3对包的要求降低了不需要__i......
  • Day02(计算机及DOS常用快捷命令)
    快捷键Ctrl+C:复制Ctrl+V:粘贴Ctrl+A:全选Ctrl+X:剪切Ctrl+Z:撤销Ctrl+S:保存Alt+F4:关闭窗口Shift+Delete:永久删除Win+R:运行regedit窗......