0

我有一个关于 Python 日期函数的愚蠢问题。

假设我想向脚本传递一个日期,即 2013 年 7 月 2 日。这段代码可以正常工作:

from datetime import date
july_2nd = date(2013,7,2)
print july_2nd

输出:

2013-07-02

那么现在如果我想向date()函数传递一个存储在变量中的值,我可以用一个函数设置它,而不是硬编码 7/2/13,所以我尝试这个并得到一个错误:

from datetime import date
july_2nd = (2013,7,2)
print date(july_2nd)

错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: an integer is required

谁能解释这里发生了什么?

4

1 回答 1

2

您想使用splat 语法将元组作为单独的参数传递:*args

date(*july_2nd)

通过使用星号作为前缀july_2nd,您是在告诉 Python 调用date()该变量中的所有值作为单独的参数。

有关详细信息,请参阅调用表达式文档;还有一种**kwargs形式可以将映射扩展到关键字参数。

于 2013-07-02T11:54:06.440 回答