这个问题该如何解决

来源:2-1 实战自定义包(1)

能量咕噜略略

2019-10-29 10:39:02

from datetime import datetime


def gen_trans_id(date=None):
   """
   根据所传入的时间得到一个唯一的交易流水ID
   :param date: 日期
   :return: 交易流水的ID字符串
   """
   # 如果没有传入时间,则使用系统当前的时间
   if date is None:
       date = datetime.now()
   # 怎样保证字符串的唯一
   # 日期+时间+毫秒+随机数(6位随机数)
   return date.strptime('%Y%m%d%H%M%S%f')

在这段代码下如何测试,我不要老师新建的那段,就这段代码测试这章节讲解的内容,按照之前所学的理解,后面的代码应该这么写,为什么会出错呢?

#不传入任何值,打印出结果

print(gen_trans_id())

写回答

9回答

时间,

2019-10-29

同学,你好。同学直接传入一个日期时间类型的参数就可以,例:

http://img.mukewang.com/climg/5db7d163097729b105020472.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

能量咕噜略略

提问者

2019-10-29

传入实参的情况下,print里面该如何写

0

能量咕噜略略

提问者

2019-10-29

就是这段代码后面我要怎么输入能返回return的值就好,不要说其他的啦

0

能量咕噜略略

提问者

2019-10-29

老师你能不能把这个整段代码帮我理下,retrun返回的值如何输出,就这段的,不要东一个,西一个,分开我都懂,主要是如何结合一起,就这段的写出来我看看就好了

0

能量咕噜略略

提问者

2019-10-29

这里写错了,应该是return date.strptime('%Y%m%d%H%M%S%f')

0

能量咕噜略略

提问者

2019-10-29

返回的是

return datetime.strptime('%Y%m%d%H%M%S%f')

然后接下去我要如何传入值才能正确打印出来呢,随便写个数值,让整段代码能够正常运行。

print(),里面要怎么写呢

能不能帮我补充下,我怎么写都不对呢

0

时间,

2019-10-29

同学,你好。同学的代码已经实现了输出啊,print(gen_trans_id())是将gen_trans_id()函数返回的结果进行输出。同学程序报错的原因是因为使用了strptime()函数,该函数是将字符串格式转化为日期格式,需要传入两个参数。在本程序中应使用strftime()方法:将日期格式转化为字符串格式。

http://img.mukewang.com/climg/5db7b9f909fe70e004950255.jpg

同学也可以在调用gen_trans_id()时将返回的结果赋值给变量,再进行输出。

参考代码:

http://img.mukewang.com/climg/5db7b9d90978cac302960120.jpg

同学的理解是没问题的,在调用时不传入实参,date的值为None,则会输出当前时间。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

能量咕噜略略

提问者

2019-10-29

我知道呀,你没明白我的意思呀,这段代码如何实现输出,能否把完整的贴出来我看下?返回的时候是return datetime.strptime('%Y%m%d%H%M%S%f'),那下面输出按照老师之前教的不就是

print(gen_trans_id()),我这边定义成一个空的字符串,按照程序逻辑来看,空的字符串就会返回当前时间.. 就这段完整代码能不能帮我理清下

0

时间,

2019-10-29

同学,你好。

1、应使用strftime()方法:将日期格式转化为字符串格式。

参考代码:

http://img.mukewang.com/climg/5db7b41b097ae27905080239.jpg

2、同学用的是strptime():该函数是将字符串格式转化为日期格式,需要传入两个参数

例:

from datetime import datetime
stime = datetime.strptime('2008-02-14', '%Y-%m-%d')
print(stime)    # 2008-02-14 00:00:00

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 8160 问题

查看课程