Python数值、日期与时间(学习笔记)

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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值