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

内置模块

时间:2022-10-19 20:11:34浏览次数:47  
标签:10 内置 random datetime tm 模块 time print

1.常用内置模块之collections模块

1.具名元组:namedtuole:可以使用第一个元素的名字来修饰元组
from collections import namedtuple

point = namedtuple('位置坐标', ['x', 'y'])
p1 = point(4, 6)
print(p1)  # 位置坐标(x=4, y=6)
print(p1.x)  # 4
print(p1.y)  # 6

card = namedtuple('组合', ['num', 'color'])
c1 = card('J', '黑桃')
c2 = card('k', '红桃')
print(c1.num, c1.color)  # J 黑桃

2.队列
	队列与堆栈
		队列:先进先出
 		堆栈:先进后出
	队列和堆栈都是一边只能进一边只能出

3.deque模块:我们在对元祖首位的文件增删时之前的方法较为麻烦,可以调用deque实现首尾高效增删(适用于队列和栈)
from collections import deque
q = deque(['jason', 'jerry', 'kitty'])
q.append('janny')
q.appendleft('max')
print(q)  # deque(['max', 'jason', 'jerry', 'kitty', 'janny'])
q.pop()
q.popleft()
print(q)  # deque(['jason', 'jerry', 'kitty'])

4.OrderDict:使用是dict是无序的,我们想要使dict变得有顺序可以使用OrderDict,添加顺序越前顺序就越靠前
from collections import OrderedDict
od = OrderedDict()
od['name'] = 'max'
od['hobby'] = 'soccer'
od['base'] = 'Shanghai'
print(od)  # OrderedDict([('name', 'max'), ('hobby', 'soccer'), ('base', 'Shanghai')])

5.Counter:Counter是用来跟踪值出现的次数,以字典键值对的形式存储
from collections import Counter
c = Counter('jkadfyhjksdbvsfdfs')
print(c)  # Counter({'d': 3, 'f': 3, 's': 3, 'j': 2, 'k': 2, 'a': 1, 'y': 1, 'h': 1, 'b': 1, 'v': 1})

2.常用内置模块之时间模块-import time

1.时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,我们运行“type(time.time())”,返回的是float类型
import time
print(time.time())  # 1666171837.1783726
start_time = time.time()
print('看看这个程序执行需要多久')
time.sleep(3)
end_time = time.time()
print('执行时间', end_time - start_time)

import time
print(type(time.time()))  # <class 'float'>

2.结构化时间:主要是给计算机看的,其中tm_wday是星期(从0开始计),0代表星期一,6代表星期天。tm_yday代表一年当中的第几天
print(time.localtime())  # time.struct_time(tm_year=2022, tm_mon=10, tm_mday=19, tm_hour=18, tm_min=33, tm_sec=2, tm_wday=2, tm_yday=292, tm_isdst=0)
    
3.格式化时间:主要是给人看的,类似以格式化输出,连接符可以自定义
import time
print(time.strftime('%Y-%m-%d'))  # 2022-10-19
print(time.strftime('%Y/%m/%d'))  # 2022/10/19
print(time.strftime('%Y/%m/%m %H:%M:%S'))  # 2022/10/10 18:29:14
print(time.strftime('%Y/%m/%d %X'))  # 2022/10/19 18:30:30
print(time.strftime('%Y-%m'))  # 2022-10
索引(Index) 属性(Attribute) 值(Values)
0 tm_year(年) 比如2011
1 tm_mon(月) 1 - 12
2 tm_mday(日) 1 - 31
3 tm_hour(时) 0 - 23
4 tm_min(分) 0 - 59
5 tm_sec(秒) 0 - 60
6 tm_wday(weekday) 0 - 6(0表示周一)
7 tm_yday(一年中的第几天) 1 - 366
8 tm_isdst(是否是夏令时) 默认为0

3.常用内置模块之时间模块-import datatime

1.datetime和date的区别在于datetime.now()和datetime.today()都会精确到秒。而date只会精确到日
import datetime

datetime.now():获取当前datetime
print(datetime.datetime.now())  # 2022-10-19 18:47:52.303691
print(datetime.datetime.today())  # 2022-10-19 18:47:52.303692
print(datetime.date.today())  # 2022-10-19

2.date.utcnow():获取获取当前格林威治时间
from datetime import datetime
print(datetime.utcnow())  # 2022-10-19 10:58:23.396622  

3.datetime(五个参数):获取指定时间
from datetime import datetime
c = datetime(2019, 6, 15, 20, 58)
print(c)  # 2019-06-15 20:58:00

4.将字符串转换成标准格式时间:
from datetime import datetime
d = datetime.strptime('2017/9/30','%Y/%m/%d')
print(d)  # 2017-09-30 00:00:00
e = datetime.strptime('2019/5/1', '%Y/%m/%d')
print(e)  # 2019-05-01 00:00:00
f = datetime.strptime('2017年9月30日星期六', '%Y年%m月%d日星期六')
print(f)  # 2017-09-30 00:00:00   

5.计划指定时间任务
import datetime
ctime = datetime.date.today()
print(ctime)  # 2022-10-19
del_time = datetime.timedelta(days=3)
print(ctime + del_time)  # 2022-10-22

import datetime
ctime = datetime.datetime.today()
print(ctime)  # 2022-10-19 19:19:37.132740
del_time = datetime.timedelta(minutes=3)
print(ctime + del_time)  # 2022-10-19 19:22:37.132740

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

1.产生0-1随机的小数
import random
print(random.random())  # 0.7536697184640402

2.随机产生整数(首尾都包含)(摇骰子)
print(random.randint(1,6))  # 4

3.随机产生范围中一个数,间隔(步长)为2
print(random.randrange(1,20,2))  # 9

4.随机抽取列表当中一个元素,几率相等
print(random.choice(['一等奖', '二等奖', '三等奖', '谢谢惠顾']))  # 一等奖
print(random.choices(['一等奖', '二等奖', '三等奖', '谢谢惠顾']))  # ['二等奖']
"""
choices会保留数据类型,choice不会
"""

5.choice.sample:随机抽取列表当中几个数据值,可以指定数量
print(random.sample(['jason', 'jerry','tony', 'max'], 2))  # ['max', 'tony']

6.打乱列表当中数据值的顺序:random.shuffle()(洗牌)
l1 = [1,2,3,4,5,6,7,8,9,10,'J','Q','K']
random.shuffle(l1)
print(l1)  # [4, 2, 3, 7, 9, 1, 8, 10, 6, 'J', 'K', 5, 'Q']

7.产生随机验证码,每一位都可以是大小写、字母
def get_code(n):
    code = ''
    for i in range(n):
        random_upper = chr(random.randint(65, 90))  # 随机产生大写字母
        randon_lower = chr(random.randint(97,112))  # 随机产生小写字母
        randon_int = str(random.randint(0,9))  # 随机产生整数
        temp = random.choice([random_upper, randon_lower,randon_int])  # 三选一
        code += temp  # 字符串相加
    return code
res = get_code(4)
print(res)

标签:10,内置,random,datetime,tm,模块,time,print
From: https://www.cnblogs.com/zkz0206/p/16807592.html

相关文章

  • 内置模块
    今日内容概要包的具体的使用编程思想的转变软件开发目录规范常见内置模块之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......
  • 软件开发目录规范、python常用内置模块
    编程思想的转变1.面条版阶段  所有的代码全部堆叠在一起。可以看成是直接将所有的数据放在C盘    视频、音频、文本、图片2.函数版阶段  根据功能的......
  • 10月19日内容总结——包的使用、软件开发目录规范和常用内置模块
    目录一、包的具体使用二、编程思想的转变三、软件开发目录规范1、bin目录2、conf目录3、core目录4、lib目录5、db目录6、interface目录7、log目录8、readme文件9、requirem......
  • 时间模块--time和datetime的区别与用法
    时间模块--time和datetime的区别与用法2022-10-19一.Python中表示时间的两种方式:时间戳:相对于1970.1.100:00:00以秒计算的偏移量,唯一的时间元组struct_time:共有9个......
  • 内置模块之随机数模块——random
    内置模块之随机数模块——randomPythonrandom模块主要用于生成随机数。要使用random函数必须先导入:importrandom这里整理几条常用的功能:函数名功能ran......