自己手动转换日期数据

【问题描述】W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

输入一串表示日期的字符串,然后将该字符串转换成datetime类的日期对象。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

自己手动转换日期数据输入数据:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

2021-10-02W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

自己手动转换日期数据输出结果:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

2021-10-02W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【题前思考】W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

根据问题描述,填写表6-3-1。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

表6-3-1 问题分析W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

自己手动转换日期数据W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【解题思路】W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

首先获取字符串,然后通过字符串切片获取年、月、日基础数据,接着将它们转换为整型,最后创建datetime.date类对象。可能出现异常的地方是因为字符串不规则而无法获取基础数据。用try-except-else来处理异常。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【程序代码】W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

自己手动转换日期数据W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【代码分析】W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

①:从标准模块datetime中导入表示日期的date类。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

②:创建自定义类MyDate。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

③:使用@staticmethod修饰器,说明下面将定义一个静态方法。类或实例均可调用静态方法,即“对象名.静态方法”或“类名.静态方法”都可以正常调用。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

④:定义静态方法str2date将字符串转化为日期对象。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

⑤:将你认为有可能出错的代码写入try子句中。try块的作用是捕获异常,注意不要省略冒号。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

⑥:将遇到异常的处理办法写入except子句中。Exception as e表示为捕获类型为Exception的异常并取别名e,方便我们访问这个异常,例如:print(e)。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

⑦:如果没有异常出现,接下来还有需要执行的操作,就可以放入else子句中。return date(year,month,day)创建date类对象,并返回这个对象。至此MyDate类定义完成。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【优化提升】W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

Python 素有优雅的名声,其中多重赋值就是它既优雅又快速的体现。例如:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

year=int(sdate[:4])W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

month=int(sdate[5:7])W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

day=int(sdate[8:10])W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

我们尝试将代码改写为:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

year,month,day=int(sdate[:4]),int(sdate[5:7]),int(sdate[8:10])W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【技术全貌】W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。以下为简单的try…except…else的语法:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

try:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

语句W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

except异常类型1 as变量名1:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

遇到异常类型1要执行的语句W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

except异常类型n as变量名n:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

遇到异常类型n要执行的语句W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

else:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

没有遇到上述异常要执行语句W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

finally:W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

总要执行的语句W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

try的执行过程是先执行try里面的代码,如果遇到异常,就会检测是否有某个except子句要捕获这个异常,如果找到则执行except子句中的语句;如果没有找到要捕获的异常则执行else子句中的语句。最后,无论是否捕获到异常都会执行finally子句中的语句。else和finally都是可选项。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

Python中提供了很多标准异类常用于标识程序中可能出现的异常,见表6-3-2。W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

表6-3-2 Python标准异常W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

自己手动转换日期数据W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

续表W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

自己手动转换日期数据W98100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

关 键 词

转换日期数据

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢