首页 > 其他分享 >常用内置模块

常用内置模块

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

常用内置模块

目录

什么是包?

包是一个含有__init__.py文件夹,文件夹内可以组织子模块或子包。

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

1、如果只想用包中某几个模块,那么还是按照之前的导入方式即可
from aaa import md1,md2

2、如果直接导入包名
import aaa
导入包名其实就是导包下面的__init__.py文件,该文件内有什么名字就可以通过包名点什么名字

编程思想的转变

1、面条阶段
	所有的代码全部堆叠在一起。
 # 可看成是所有的数据放在C盘,如视频、音频、文本、图片

2、函数版阶段
	根据功能的不同,封装不同的函数。
 # 可看成将C盘下的数据分类管理,视频文件夹、音频文件夹

3、模块版阶段
	根据功能的不同拆分成不同的py文件。
 # 可看成将C盘下的数据根据功能不同划分到更合适的位置,如:
 # 系统文件夹 C盘
 # 视频文件夹 D盘
 # 图片文件夹 E盘
'''
三个阶段类似于开公司(小作坊、小公司、上市公司)
这些都是为了资源的高效管理
'''

软件开发目录规范

为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要,简而言之就是把软件代码分文件目录。

文件及目录的名字可以变化,但是思想是不变的——分类管理。

• bin - 存放启动文件的目录(可以没有该目录)
	start.py 启动文件可以放在bin目录下 也可以直接在项目根目录 
    
• api - 存放接口文件,接口主要用于为业务逻辑提供数据操作。

• core - 存放业务逻辑相关代码
	src.py 里面存放项目核心功能
    
• db - 存放操作数据库相关文件,主要用于与数据库交互
	userinfo.txt
    db_handler.py   存放数据库操作相关的代码

• lib - 存放程序中常用的自定义模块
	common.py
    
• conf - 存放配置文件
	settings.py  里面存放项目的默认配置 一般都是全大写
    
• log - 存放日志相关的文件
	log.log

• run.py / start.py - 程序的启动文件,一般放在项目的根目录下,因为在运行时会默认将运行文件所在的文件夹作为sys.path的第一个路径,这样就省去了处理环境变量的步骤

• setup.py - 安装、部署、打包的脚本。

• requirements.txt - 存放软件依赖的外部Python包列表。
(存放项目所需模块及版本)

• readme文件 - 主要存放项目相关说明

• interface文件夹 - 主要存放项目接口文件
    goods.py 根据具体业务逻辑划分对应的文件
    user.py
    account.py

常用内置模块之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)
    print(c2, c2.num, c2.color)
 
2.队列
	队列与堆栈
		队列:先进先出
 		堆栈:先进后出
	队列和堆栈都是一边只能进一边只能出。

常用内置模块之时间模块

# import time
"""
三种时间表现形式
    1.时间戳
        秒数
    2.结构化时间
        主要是给计算机看的 人看不适应
    3.格式化时间
        主要是给人看的
"""
print(time.time())  # 1666150097.5481427

print(time.localtime())  
# time.struct_time(tm_year=2022, tm_mon=10, tm_mday=19, tm_hour=11, tm_min=32, tm_sec=50, tm_wday=2, tm_yday=292, tm_isdst=0)

print(time.strftime('%Y-%m-%d'))  # 2022-10-19
print(time.strftime('%Y/%m/%d'))  # 2022/10/19

print(time.strftime('%Y/%m/%d %H:%M:%S'))  # 2022/10/19 11:30:20
print(time.strftime('%Y/%m/%d %X'))  # 2022/10/19 11:31:18

time.sleep(10)  # 让程序原地阻塞指定的秒数


# 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())
# 2022-10-19 当天日期

print(datetime.today())
# 2022-10-19 16:01:33.329920 当天日期落实到时分秒
print(datetime.utcnow())
# 2022-10-19 08:02:25.658715 当天UTC时间落实到时分秒

# 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)
# 2017-09-30 00:00:00

f=datetime.strptime('2017年9月30日星期六8时42分24秒','%Y年%m月%d日星期六%H时%M分%S秒')
print(f)
# 2017-09-30 08:42:24

# import datetime
ctime = datetime.date.today()
print(ctime)
# 2022-10-19
time_del = datetime.timedelta(days=3)
print(ctime + time_del)
# 2022-10-22

ctime = datetime.datetime.today()
print(ctime)
# 2022-10-19 16:12:24.976800

time_del = datetime.timedelta(minutes=20)
print(ctime + time_del)
# 2022-10-19 16:33:01.703024

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

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)  # 随机打乱数据集
# print(l1)


'''产生图片验证码: 每一位都可以是大写字母 小写字母 数字  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)

标签:10,常用,内置,random,datetime,模块,time,print,py
From: https://www.cnblogs.com/zhiliaowang/p/16807668.html

相关文章

  • springboot 常用的注解,解决面试
    一: ComponentScan :作用扫描二: MapperScan :扫描mapper 三: @SpringBootApplication组合注解四: @EnableAutoConfiguration开启自动配置的功能五: @AutoConfigurat......
  • ### 包的具体使用,软件开发目录规范,常用内置模块之collections模块,常用内置模块之时间
    包的具体使用虽然python3对包的要求降低了不需要__init__.py也可以识别但是为了兼容性考虑最好还是加上__init__.py1.如果只想用包中某几个模块那么还是按照之前的导......
  • 前端程序员常用的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......