math.ceil(a):返回大于或等于a的最小整数。math.floor(a):返回小于或等于a的最大整数。round(a):对a进行四舍五入运算
math.log(a, [base]):返回以base为底的a的对数,没有base,则默认a的自然对数 。math.sqrt(a):返回a的平方根。math.pow(a, b):返回a的b次幂的值。
math.sin(a):弧度a的三角正弦。math.cos(a):弧度a的三角余弦。math.tan(a):弧度a的三角正切。math.asin(a):弧度a的三角反正弦。math.acos(a):弧度a的三角反余弦。math.atan(a):弧度a的三角反正切。math.degrees(a):将弧度a转为角度;math.radians(a):将角度a转为弧度。
random.random():返回在范围大于或等于0.0,小于1.0内的随机浮点数。random.randrange(endnum):返回在范围大于或等于0.0,小于endnum,步长为1的随机整数。random.randrange(startnum, endnum [, step]):返回在范围大于或等于startnum,小于endnum,步长为step的随机整数。random.randint(a,b):返回在范围大于或等于a,小于或等于b,之间的随机整数。import random
for i in range(0,3):
x = random.random()
print(x)
for i in range(0,5):
a = random.randrange(5, 30, 2)
print(a)
for i in range(0,3):
b = random.randint(3, 9)
print(b)

datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

datetime.today():返回当前本地日期和时间。datetime.now(tz=None):返回本地当前的日期和时间,如果tz=None,同today()。datetime.utcnow():返回当前UTC日期和时间。datetime.fromtimestamp(timestamp, tz=None):返回与UNIX时间戳对应的本地日期和时间。datetime.utcfromtimestamp(timestamp):返回与UNIX时间戳对应的UTC日期和时间。
datetime.date(year, month, day)
date.today():返回当前本地日期。date.fromtimestamp(timestamp): 返回与UNIX时间戳对应的本地日期。
datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
格式化:将日期和时间,通过某种格式显示,满足当地人查看日期和时间的习惯。
解析:与格式化操作相反,将用户输入的日期和时间字符串,解析为对象。
strftime(format):格式化
strptime(date_string, format):解析
关于format,常见的日期和时间控制符
| 指令 | 含义 | 示例 |
|---|---|---|
| %m | 两位月份表示 | 01、02、12 |
| %y | 两位年份表示 | 08、18、20 |
| %Y | 四位年份表示 | 2008、2018、2020 |
| %d | 月内中的一天 | 1、2、3 |
| %H | 两位小时表示(24小时制) | 00、01、23 |
| %I | 两位小时表示(12小时制) | 01、03、12 |
| %p | AM或PM区域性设置 | AM和PM |
| %M | 两位分钟表示 | 00、01、58 |
| %S | 两位秒表示 | 00、01、45 |
| %f | 用6位数表示微秒 | 000000、000001、999999 |
| %z | +HHMM或-HHMM形式的UTC偏移 | +0000、-0400,如果没有设置时区为空 |
| %Z | 时区名称 | UTC、EST、CST,没有设置时区为空 |
示例

datetime.timezone(offset, name=None)
import logging
logging.basicConfig(level=logging.ERROR)
logging.debug('这是DEBUG级别信息')
logging.info("这是INFO级别信息")
logging.warning("这是warning级别信息")
logging.error("这是ERROR级别信息")
logging.critical("这是CRITICAL级别信息")

import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug('这是DEBUG级别信息')
logging.info("这是INFO级别信息")
logging.warning("这是warning级别信息")
logging.error("这是ERROR级别信息")
logging.critical("这是CRITICAL级别信息")

getLogger()函数创建自己的日志器对象,代码:logger = logging.getLogger(__name__)getLogger()函数的参数是一个字符串,__name__是当前模块名。import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
logger.debug('这是DEBUG级别信息')
logger.info("这是INFO级别信息")
logger.warning("这是warning级别信息")
logger.error("这是ERROR级别信息")
logger.critical("这是CRITICAL级别信息")

可以根据自己的需要设置日志信息的格式化。常用格式化参数如下:
| 日志格式参数 | 说明 |
|---|---|
| %(name)s | 日志器名 |
| %(asctime)s | 输出日志时间 |
| %(filename)s | 包括路径的文件名 |
| %(funcName)s | 函数名 |
| %(levelname)s | 日志等级 |
| %(processName)s | 进程名 |
| %(threadName)s | 线程名 |
| %(message)s | 输出信息 |
示例
import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(threadName)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
logger.debug('这是DEBUG级别信息')
logger.info("这是INFO级别信息")
logger.warning("这是warning级别信息")
logger.error("这是ERROR级别信息")
logger.critical("这是CRITICAL级别信息")
def funclog():
logger.info("进入funclog函数")
logger.info('调用funclog函数')
funclog()
输出结果

import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(threadName)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s', filename="test.log")
logger = logging.getLogger(__name__)
logger.debug('这是DEBUG级别信息')
logger.info("这是INFO级别信息")
logger.warning("这是warning级别信息")
logger.error("这是ERROR级别信息")
logger.critical("这是CRITICAL级别信息")
def funclog():
logger.info("进入funclog函数")
logger.info('调用funclog函数')
funclog()
filename=test.log,设置日志文件名,包括路径,日志信息写进此文件中。

import logging
import logging.config
logging.config.fileConfig("logger.conf")
logger = logging.getLogger('logger1')
logger.debug('这是DEBUG级别信息')
logger.info("这是INFO级别信息")
logger.warning("这是warning级别信息")
logger.error("这是ERROR级别信息")
logger.critical("这是CRITICAL级别信息")
def funclog():
logger.info("进入funclog函数")
logger.info('调用funclog函数')
funclog()