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()