1、time模块:

time模块是普通的时间模块

在python的三种时间表现形式:
1.时间戳: 给电脑看的。
- 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒。 2.格式化时间(Format String): 给人看的
- 返回的是时间的字符串 2002-01-11 3.格式化时间对象(struct_time):
- 返回的是一个元组, 元组中有9个值:
9个值分别代表: 年、月、日、时、分、秒、一周中第几天,一年中的第几天,夏令时(了解) 1)获取时间戳:
import time

# 获取时间戳(******)计算时间时使用
print(time.time()) #1573895872.453043 ,给电脑看的

2)格式化时间:

# 获取年月日
print(time.strftime('%Y-%m-%d')) #-- # # 获取年月日时分秒
print(time.strftime('%Y-%m-%d %H:%M:%S')) #-- ::
# # %X == %H:%M:%S
print(time.strftime('%Y-%m-%d %X')) #-- :: # 获取年月
print(time.strftime('%Y/%m')) #/

3) 获取时间对象:

print(time.localtime())  #time.struct_time(tm_year=2019, tm_mon=11, tm_mday=16, tm_hour=17, tm_min=23, tm_sec=36, tm_wday=5, tm_yday=320, tm_isdst=0)
print(type(time.localtime())) #<class 'time.struct_time'>
time_obj = time.localtime()
print(time_obj.tm_year)
print(time_obj.tm_mon)

将时间对象转为格式化时间:

import datetime
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())

将字符串格式的时间转为时间对象:

import time
res = time.strftime('2019-01-01, %Y-%m-%d')
print(res)

2、datetime 模块

datetime 模块是基于time模块封装的一种比较便利的时间模块

import datetime

# 获取当前年月日
print(datetime.date.today()) # 获取当前年月日时分秒
print(datetime.datetime.today()) time_obj = datetime.datetime.today()
print(type(time_obj))
print(time_obj.year)
print(time_obj.month)
print(time_obj.day)
#UTC
print(time_obj.weekday()) # 0-6
#ISO
print(time_obj.isoweekday()) # 1-7 #UTC时区
#北京时间
print(datetime.datetime.now()) #格林威治
print(datetime.datetime.utcnow())
日期/时间的计算:
日期时间 = 日期时间 “+” or “-” 时间对象
时间对象 = 日期时间 “+” or “-” 日期时间
# 日期时间:
current_time = datetime.datetime.now()
print(current_time) # 时间对象
# 获取7天时间
time_obj = datetime.timedelta(days=7)
print(time_obj) # 获取当前时间7天后的时间
# 日期时间 = 日期时间 “+” or “-” 时间对象
later_time = current_time + time_obj
print(later_time) # 时间对象 = 日期时间 “+” or “-” 日期时间
time_new_obj = later_time - current_time
print(time_new_obj)

3、random 模块:

random模块主要用于随机获取指定的值

随机获取1—9中任意的整数:

import random
res = random.randint(1, 9)
print(res)

默认获取0——1之间任意小数

res2 = random.random()
print(res2)

洗牌:

#random.shuffle()可以对某个有索引的可迭代对象进行乱序。

需要注意的是:不可变类型和无序数据类型不能乱序

# 将可迭代中的值进行乱序
list1 = ['红桃A', '梅花A', '红桃Q', '方块K']
random.shuffle(list1)
print(list1)

随机获取可迭代对象中的某一个值:

list1 = ['红桃A', '梅花A', '红桃Q', '方块K']
res3 = random.choice(list1) #随机获取一个值
print(res3)

具体例题:

# 需求: 随机验证码
'''
需求:
大小写字母、数字组合而成
组合5位数的随机验证码
''

import random

def get_code(n):
code1 = ''
for line in range(n):
# 随机生成一个小字母
res1 = random.randint(97, 122)
lower_str = chr(res1) # 根据ASCII码数字对应小字母
# 随机生成一个大字母
res2 = random.randint(65, 90)
upper_str = chr(res2) # 根据ASCII码数字对应大字母
# 随机生成一个数字
res3 = random.randint(0, 9) # 随机生成一个整数
number = str(res3)
code_list = [lower_str, upper_str, number]
code_choice = random.choice(code_list) # 从列表中随机去一个元素
code1 += code_choice
print(code1)
print(len(code1))
return code1 get_code(10)

注:在ASCII码中,数字范围:97-122,对应小写字母;数字范围65-90,对应大写字母。

常用的python内置模块的更多相关文章

  1. python内置模块(time模块)

    常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...

  2. python内置模块[re]

    python内置模块[re] re模块: python的re模块(Regular Expression正则表达式)提供各种正则表达式的匹配操作,在文本解析.复杂字符串分析和信息提取时是一个非常有用的工 ...

  3. python 内置模块续(二)

    目录 python 内置模块补充 1.hashlib模块 简易使用: 高级使用: 进阶使用: 加盐处理: 校验文件一致性 2.logging日志模块 日志等级 常用处理 "四大天王" ...

  4. python内置模块(4)

    这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...

  5. 常用的Python字符串常量

    下面是一些常用的Python字符串常量string.digits:包含0-9的字符串string.letters:包含所有大小写字母的字符串 string.lowercase:所有小写字母string ...

  6. Python学习笔记【第八篇】:Python内置模块

    什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说 ...

  7. Python内置模块与标准库

    Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. ...

  8. 我常用的 Python 调试工具 - 博客 - 伯乐在线

    .ckrating_highly_rated {background-color:#FFFFCC !important;} .ckrating_poorly_rated {opacity:0.6;fi ...

  9. python内置模块[sys,os,os.path,stat]

    python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...

随机推荐

  1. 16、基于状态的iptable+高级路由(重点)

    --   基于状态的iptables   如果按照tcp/ip来划分连接状态,有12种之多 但iptables里只有4种状态:ESTABLISHED.NEW.RELATED及INVALID   这两个 ...

  2. flask中的Flask、request、render_temple、redirect和url_for

    学flask也有一个多星期了,对这个web框架也有了一点的了解,梳理一些基础的知识点,还是小白一只,代码写得比较low,若文章有错误的地方欢迎大佬随时指正,代码中被注释掉的代码是关于预防csrf,无视 ...

  3. Shell 脚本中 '$' 符号的多种用法

    通常情况下,在工作中用的最多的有如下几项: $0:Shell 的命令本身 $1 到 $9:表示 Shell 的第几个参数 $? :显示最后命令的执行情况 $#:传递到脚本的参数个数 $$:脚本运行的当 ...

  4. Lp距离, L1范数, 和L2范数(转载)

    范式可以理解成距离 转载自: https://blog.csdn.net/hanhuili/article/details/52079590 内容如下: 由此可见,L2其实就是欧式距离.工程上,往往不 ...

  5. django之表设计、路由层等

    图书管理系统表的设计 from django.db import models # Create your models here. class Book(models.Model): title = ...

  6. aws产品整理

    计算 Amazon EC2:弹性虚拟机 AWS Batch:批处理计算 Amazon ECR:Docker容器管理 Amazon ECS:高度可扩展的快速容器管理服务 Amazon EKS:在AWS上 ...

  7. nwjs-简单应用于基本结构

    简单应用 1.在解压目录下创建文件夹dmeo01 2.在文件夹中创建index.html和package.json两个文件 3.index.html内容: <!DOCTYPE html> ...

  8. [LeetCode] 103. Binary Tree Zigzag Level Order Traversal 二叉树的之字形层序遍历

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  9. .Net Core 最简洁的约定式依赖注入

    .Net Core 最简洁的约定式依赖注入 github:https://github.com/280780363/guc/tree/master/src/Guc.Kernel/Dependency ...

  10. 【微信小程序】获取用户地理位置权限,二次请求授权,逆解析获取地址

    摘要:微信小程序内获取用户地理位置信息授权,被拒绝后二次获取,获取权限后逆解析得到用户所在省市区等.. 场景:商城类小程序,在首页时需展示附近门店,即用户刚进入小程序时就需要获取到用户位置信息 ste ...