一、处理异常 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