首页 > 编程语言 >python常用内置模块

python常用内置模块

时间:2022-10-19 20:13:21浏览次数:47  
标签:内置 python random datetime 模块 time print import py

今日内容


包的具体使用

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

1.如果只想用包中某几个模块 那么还是按照之前的导入方式即可
	from bbb import md1, md2
2.如果直接导入包名
	import bbb
    导入包其实就是导入包名下面的__init__.py文件,该文件内有什么名字就可以通过包名点什么名字

编程思想的转变

1.面条版阶段
	所有代码全部堆叠在一起
2.函数版阶段
	根据功能的不同封装不同的函数
3.模块版阶段
	根据功能的不同拆分成不同的py文件
'''
按照需求从上往下堆叠代码>>>根据不同的功能将代码封装成不同的函数>>>根据不同的功能分成不同的模块文件单文件>>>多文件
一切都是为了能高效率便捷的进行资源管理
'''    

软件开发目录规范

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

    8.readme文件 # 主要存放项目相关说明
    
    9.requirements.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(py.y)  # 2
    
    
思路:
    1.先打开模块
    2.调用模块让后输入名称属性:
    	#namedtuple('名称', [属性list]):
    
    from collections import namedtuple
    car = namedtuple('汽车', ['num', 'color'])
    c1 = car('5656', '黑色')
    c2 = car('7878', '白色')
    print(c1, c1.num, c1.color)
    print(c2, c2.num, c2.color)
2.队列:
    队列与堆栈
    	队列:先进先出
        堆栈:先进后出
    队列与堆栈都是一边只能进一边只能出

常用内置模块之时间模块

import time
三种时间表现形式:
    1.时间戳
    	秒数
    2.结构化时间
    	主要是给计算机看的
    3.格式化时间
    	主要是给人看的
    import time
    print(time.time())  #结果: 1666176214.275098
    # 时间戳1970 年 1 月 1 日(08:00:00 GMT)至当前时间的总秒数

    import time
    print(time.localtime())
    #结果: time.struct_time(tm_year=2022, tm_mon=10, tm_mday=19, tm_hour=18, tm_min=44, tm_sec=38, 	tm_wday=2, tm_yday=292, tm_isdst=0)
    #用元组的形式将现在的时间详细描述

    import time
    print(time.strftime('%Y-%m-%d'))  
    #结果: 2022-10-19
    # 显示现在几年几月几日

    import time
    print(time.strftime('%Y/%m/%d %H:%M:%S'))  
    #结果: 2022/10/19 18:50:02
    # 将时间精确到秒

    import time
    print(time.strftime('%Y/%m/%d %X'))  
    #结果: 2022/10/19 11:31:18
    #精确到秒简化写法X中包含了HMS    
 'time.sleep(5)'让系统延迟执行括号内是秒数

import datetime
    
    import datetime
    print(datetime.datetime.now())
    #精确到分秒
    #结果: 2022-10-19 19:07:42.207169
    
    import datetime
    print(datetime.date.today())
    # 精确到年月日
    #结果: 2022-10-19
    '''
    datetime 年月日 时分秒
    date     年月日
    time     时分秒(后续会有此规律)
    '''
指定日期修改:
    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 默认时间是0
    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)  # 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)  # 天数加3 2022-10-22

    ctime = datetime.datetime.today()
    print(ctime)   
    # 现时间日期秒数2022-10-19 19:23:06.582330
    time_del = datetime.timedelta(minutes=20)
    print(ctime + time_del)
    # 同理秒数加20 2022-10-19 19:43:06.582330


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

import random
    print(random.random()) # 随机产生0-1之间的小数
    print(random.randint(1, 6)) # 随机1-6整数
    print(random.randrange(1, 100, 2)) 
    # 2是步长的意思 比如1走两步到3 随机产生指定整数

    
    
    print(random.choice(['汽车', '飞机', '美女']))  	  # 随机抽取一个样本  '美女'
	
    print(random.choices(['汽车', '飞机', '美女']))  	   # 以列表形式随机抽取一个样本 ['飞机']
	
    print(random.sample(['jason', 'kevin', 'tony', 'oscar', 'jerry', 'tom'], 2))
	# 2是抽取个数 随机抽样本数组成列表          		     ['tom','jerry']
	
    l1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A']
	random.shuffle(l1)  # 随机打乱数据集
	print(l1)
    
    
    
'产生图片验证码 每一位都可以是大小写字母和数字 四位'
import random
def get_code(n):
    code = ''
    for i in range(n): # 产生随机大小写字母和数字
        random_upper = chr(random.randint(65, 90))
        random_lower = chr(random.randint(97, 122))
        random_int = str(random.randint(0, 9))
        temp = random.choice([random_upper, random_lower, random_int]) # 随机三选一
        code += temp
    return code
res = get_code(10)
print(res)  # 10位随机
res = get_code(4)
print(res)  # 四位随机

标签:内置,python,random,datetime,模块,time,print,import,py
From: https://www.cnblogs.com/lsl1/p/16807581.html

相关文章