python第9天数值日期处理

一、处理异常
try:
    x=5/0
    print(x)
except ZeroDivisionError:
    print('不能除以0')
except:
    print('其他错误')
else:
    print('没有异常')
二、代码测试
import unittest#导入python自带的测试模块,单元测试 
from yichang import get_name#导入自己的测试的模块
def get_name(first,last):
    full_name="{} {}".format(first,last)
    return full_name.title()#是把首字母大写的方法
print(get_name('tom','lee'))
class Name_title_name(unittest.TestCase):#类后面有括号代表继承unittest.TestCase
    def test_title_name(self):#定义自己要测试的功能,以test开头
        formatted_name=get_name('tom','lee')
        self.assertEqual(formatted_name,'Tom Lee')#test_title_name带的方法
if __name__=='__main__':
    unittest.main()
三、数字格式处理
a=520
b=12345.6789
print('数值:{}'.format(a))
#简化版
print(f'数值:{a:f}')#第一个f表示format,第二个f表示把当前位置当成浮点型处理
print(f'数值:{b:,f}')#当前位置以千分位显示
print(f'数值:{b:,.2f}')#保留两位小数,用到了四舍五入
x=18
y=23
print(f'相除:{x/y:.2%}')#以百分号显示
四、随机数的处理
lst=list(range(1,22))#按顺序排列
print(lst)
import random
rc=random.choice(lst)#从lst中随机抽取一个数
print(rc)
#若想随机拿三个值,用sample获得特定数量的序列
rs=random.sample(lst,3)
print(rs)
ri=random.randint(1,10)#随机产生一个整数
print(ri)
random.shuffle(lst)#打乱lst里面的顺序
print(lst)
五、日期和时间
import datetime
1.获得今天的日期
today=datetime.date.today()
print(today)
print(today.year)#显示今天所在的年份,year是一个字段或属性
print(today.day)#今天是几号
print(today.month)#今天是几月
print(today.isoweekday())#今天是周几
2.自己构造一个日期
birthday=datetime.date(2010,3,12)
print(birthday.year)
print(birthday.month)
print(birthday.day)
print(birthday.isoweekday())
3.只要时间,不要年月日
t=datetime.time(15,46,32)
print(t.hour)
print(t.minute)
print(t.second)
4.一块构造时间日期
now=datetime.datetime.now()
print(now)
5.自己构造时间日期
t=datetime.datetime(1999,3,3,23,3,4)
print(t.hour)
6.将字符串与日期时间来回转换
s='2018-1-2'
t=datetime.datetime.strptime(s,'%Y-%m-%d')
print(type(t))
now=datetime.datetime.now()
txt=now.strftime('%Y-%m-%d')
print(txt)
print(type(txt))
六、日期时间的计算
d=datetime.datetime(2018,3,5,22,44)
birthdate=datetime.datetime(2016,5,2,19,33,44)
diff=d-birthdate
print(diff.seconds)
o=datetime.datetime(2008,8,8,20,8)#创建奥运会开幕式的时间
ho=o+datetime.timedelta(days=100)#奥运会开幕式往后推100天
print(ho)
qo=ho+datetime.timedelta(days=-100)#ho往前推100天
print(qo)
mo=o+datetime.timedelta(seconds=3000)#加上8000秒
print(mo)
#若觉得一直写‘.’麻烦,可以一次导入
from datetime import date,timedelta,time,datetime
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值