python的datetime.strptime_Python中的时间函数datetime.strptime()参数顺序的问题

即便是python资深用户也经常会错写datetime.strptime(string, format) ,颠倒两个参数的顺序而写成了datetime.strptime(format, string) ,与re.find(pattern, string)相混淆。

分析问题

1、datetime.strptime()

首先strptime的函数命名不太好, 词义模糊, 不如直接叫str2time。string是source,time是result。

strptime(string, format) method of builtins.type instance

string, format -> new datetime parsed from a string (like time.strptime())

#Case

In [6]: datetime.strptime("8 May, 2019", "%d %B, %Y")

Out[6]: datetime.datetime(2019, 5, 8, 0, 0)

本函数的工作是parse a string to produce a time object。strptime 的字面含义读起来却像是毫无意义的string to parse time或者是读成相反的含义parse time to produce a string。妥协的处理方法理解为‘string parsed’ to time。将strp当做一个组合名词即strp2time。

官方的 strptime 命名比较 str2time 的优点是存在动词 parse, 点出函数的内部逻辑需要做的核心工作是解析。将普通的字符串解析成为有实际价值和意义的时间对象。(更像是开发者提醒自己非写给API的用户)

我们可以将参数名做简单的扩展:

datetime.strptime(str

你可能感兴趣的:(python的datetime.strptime_Python中的时间函数datetime.strptime()参数顺序的问题)