1、小数格式化、取证与四舍五入
小数格式化
a = 520
b = 1234567890.123456
c = -123456.654321
x = 18
c = 23
------------------------------
>>>'数值:{}'.format(a)
'数值:520'
>>>'数值:{:f}'.format(a) #f表示以浮点数输出
'数值:520.000000'
>>>f'数值:{a:f}'
'数值:520.000000'
>>>f'数值:{a:+f}' #以正数输出
'数值:+520.000000'
>>>f'数值:{a:-f}' #以负数输出,但a是正数依旧输出a原来的值
'数值:520.000000'
>>>f'数值: {c:-f}'
'数值: -123456.654321'
>>>f'数值:{b:,f}' #,表示切分显示
'数值:1,234,567,890,123456'
>>>f'数值:{b:,.2f}' #在,后加.数字表示保留几位小数(四舍五入)
'数值:1,234,567,890,12'
>>>f'数值:{b:,.4f}'
'数值:1,234,567,890,1235'
>>>'{:.2f}'.format(x / y)
'0.78'
>>>'{:.2%}'.format(x / y) # %表示以百分比显示
'78.26%'
小数位处理
>>>import math
>>>math.trunc(b) #只保留整数部分(不四舍五入) ——截断
1234567890
>>>math.floor(123.987) #小数点后无论是多大都舍掉 ——向下
123
>>>math.cell(b) #只要有小数就进1 ——向上
1234567891
>>>round(b, 2) #全局函数round(a, b) -a待处理数字,b保留位数(四舍五入)
1234567890.12
>>>round(b, 4)
1234567890.1235
2、random随机处理
针对序列
>>>lst = list(range(1, 11))
>>>lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
import random
>>>random.choice(lst) #序列中随机选择一个值
>>>random.choice(lst)
7
>>>random.sample(lst, 3) #随获指定数目的序列
[1, 5, 7]
>>>random.shuffle(lst) #打乱顺序
>>>lst
[10, 2, 3, 7, 1, 9, 4, 6, 5, 8]
>>>random.randint(1, 10) #生成范围内的随机整数
>random.random() #生成随机浮点数(小于1)
>>>random.getrandbits(5) #生成指定bit位数的随机数
3、日期与时间常用操作
>>>import datetime #导入模块
>>>datetime.MAXYEAR #最大年份
9999
>>>datetime.MINYEAR #最小年份
1
>>>today = datetime.date.today() #获取今天日期
>>>today
datetime.date(xxxx, x, x)
>>>today.year #获取年份
>>>today.month #获取月份
>>>today.day #获取日
>>>today.weekday() #查看今天周几 (从0开始算起)
>>>today.isoweekday() #查看今天周几 (从1计算)
>>>birthday = datetime.date(xxxx, x, x) #构造指定年月日
>>>t = tatetime.time(x, x, x) #指定几时几分几秒
>>>t.hour #多少小时
>>>t.minute #多少分钟
>>>t.second #多少秒
>>>now = datetime.datetime.now()
datetime.datetime(a, b, c, d, e, f, g) #a年b月c日d时e分f秒g微秒
>>>now.microsecond #查看微秒
>>>t = datetime.datetime(2000, 3, 3, 23, 59, 59)
>>>s = '2018-3-15'
>>>t = datetime.datetime.strptime(s, '%Y-%m-%d') #将字符串转化为日期,
>>>now = datetime.datetime.now()
>>>txt = now.strftime('%Y/%m/%d') #将日期按照指定格式转化为字符串
'xxxx/x/x'
4、timedelta时间跨度处理
>>>import datetime #导入模块
>>>d = datetime.datetime(2018, 3, 5, 22, 44)
>>>birthdate = datetime.datetime(2016, 5, 2, 19, 33, 44)
>>>d - birthdate
datetime.timedelta(672, 11416)
>>>diff = d - birthdate
>>>diff.days #d和birthdate相差的天数
672
>>>diff.seconds #两个日期672天11416秒
11416
>>>diff.total_seconds() #两个日期相隔秒数
58072216.0
>>>o = datetime.datetime(2008, 8, 8, 20, 8)
>>>o + datetime.timedelta(days = 100) #加100天
datetime.datetime(2008, 11, 16, 20, 8)
>>>result = d + datetime.timedelta(days=-100) #往前推100天
>>>result
datetime.datetime(2017, 11, 25, 22, 44)
>>>result.hour
>>>d + datetime.timedelta(seconds=3000) #加3000秒
datetime.datetime(2018, 3, 5, 23, 34)