【问题标题】:strptime() does not convert string to datetime object in Python 3.6strptime() 不会在 Python 3.6 中将字符串转换为日期时间对象
【发布时间】:2018-09-11 16:26:00
【问题描述】:

当我运行以下我无法解释的代码时遇到异常:

import datetime
datetime.datetime.strptime("2018-04-02", format = "%Y-%m-%d")

TypeError: strptime() takes no keyword arguments

【问题讨论】:

    标签: python python-3.x datetime strptime


    【解决方案1】:

    去掉format =关键字,第二个参数是位置only

    >>> import datetime
    >>> datetime.datetime.strptime("2018-04-02", "%Y-%m-%d")
    datetime.datetime(2018, 4, 2, 0, 0)
    

    【讨论】:

    • 为什么不呢?他们如何做出这种区分?我查看了函数签名,我发现:def strptime(cls, date_string, format): 为什么我不能在这里命名关键字参数?
    • @Aetos:因为方法是在 C 代码中定义的,并且大多数本机函数和方法是仅定位的。一般来说,对于用 C 编写的代码,同时支持位置参数和关键字参数的参数会带来性能损失,因此很少添加这种支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多