python中的self.uu class.foo与cls.foo(';s datetime模块)

python中的self.uu class.foo与cls.foo(';s datetime模块),python,Python,根据docstring,datetime.today与self相同。虽然这一切都有道理,但我很好奇为什么它是self.\uuuu class.\uuuu.fromtimestamp而不是cls.fromtimestamp。它实际上是作为常规的classmethod实现的,但它们在docstring中是额外显式的吗?是因为datetime很旧吗?这是C互操作吗 ETA:很抱歉不清楚--cls通常用于代替类方法中的self: @classmethod def foo(cls, *args, **kw

根据docstring,
datetime.today
与self
相同。虽然这一切都有道理,但我很好奇为什么它是self.\uuuu class.\uuuu.fromtimestamp
而不是
cls.fromtimestamp
。它实际上是作为常规的
classmethod
实现的,但它们在docstring中是额外显式的吗?是因为
datetime
很旧吗?这是C互操作吗

ETA:很抱歉不清楚--
cls
通常用于代替类方法中的
self

@classmethod
def foo(cls, *args, **kwargs):
    ...
是正确的(Python 2中的原生C,Python 3中的纯Python),因此它甚至没有传递一个
self
来引用

\u datetimemodule.c
的早期就一直是这样的,所以我不知道它是从哪里来的。然而,docstring似乎在模块的初始提交(至少在git历史记录达到的范围内)之后就已经存在了。在某些时候,它可能是一个对象方法,在更改为类方法之后,docstring从未更新过

但是,正如前面提到的,我找不到任何证据表明
today()
从来都不是类方法

此外,()没有提及
self

返回当前本地日期。这相当于
date.fromtimestamp(time.time())

是正确的(Python 2中的原生C,Python 3中的纯Python),因此它甚至没有传递一个
self
来引用

\u datetimemodule.c
的早期就一直是这样的,所以我不知道它是从哪里来的。然而,docstring似乎在模块的初始提交(至少在git历史记录达到的范围内)之后就已经存在了。在某些时候,它可能是一个对象方法,在更改为类方法之后,docstring从未更新过

但是,正如前面提到的,我找不到任何证据表明
today()
从来都不是类方法

此外,()没有提及
self

返回当前本地日期。这相当于
date.fromtimestamp(time.time())


在您的示例中,
cls
是什么?我想
cls
应该是
self
cls
@classmethod
的隐式第一个参数的典型名称。我想我最初的问题不清楚。我读了那个docstring,它说——假设
datetime
没有随
today()
一起提供,我可以编写一个
today
方法(使用典型的
self
作为第一个参数和另一个参数),然后编写
self.\uuu类\uuuuuuuuuuuuu.fromtimestamp(other\uarg)
,以获得此行为。如果文档中有
cls
,我要么(a.)有与前面相同的第一个问题,要么(b.)编写代码时产生
NameError
datetime
是用纯Python编写的,您可以自己阅读源代码:
cls
在您的示例中是什么?我想
cls
应该是
self
cls
@classmethod
的隐式第一个参数的典型名称。我想我最初的问题不清楚。我读了那个docstring,它说——假设
datetime
没有随
today()
一起提供,我可以编写一个
today
方法(使用典型的
self
作为第一个参数和另一个参数),然后编写
self.\uuu类\uuuuuuuuuuuuu.fromtimestamp(other\uarg)
,以获得此行为。如果文档中有
cls
,我会(a.)提出与前面相同的第一个问题,或者(b.)编写该代码时产生
NameError
。在Python3.2之后,
datetime
是用纯Python编写的,您可以自己阅读源代码:这是如何回答这个问题的?@Two Bitalchest就我而言,“别担心,这是C-town”是对这类事情的完美回答:)好吧,经过一些挖掘,甚至git日志也没有给出任何进一步的信息。文档字符串与最初提交时的状态一样(datetime应该是从CVS repo中拉过来的)甚至在那时,
today()
已经是一种类方法。这如何回答这个问题呢?@Two-bitalchest“别担心,这是C-town。”“就我而言,这是一个非常令人满意的答案:)好吧,经过一些挖掘,即使是git日志也没有提供任何进一步的信息。docstring与最初提交时一样(datetime被认为是从CVS repo中拉过来的),甚至在那时,
today()
已经是一个类方法。