python中格式化语句的最佳实践

python中格式化语句的最佳实践,python,Python,这本身不是一个编程问题,但重要的是用python重新编写干净的程序: 在函数的参数之间留出空间有什么最佳做法吗?例如,哪一个更好: 一, 或 2. 还有,什么更好 一, 或2 在Python中,您已经很好地定义了标准的格式化规则。请看一看。有一些工具可以检查最常见编辑器的规则和集成。正如@Achim PEP8所指出的,这是一个事实上的指南,因此将其应用到代码中: 您的第一个示例,选项1,但行太长 在第二个示例中,第二个选项是首选的 要符合PEP8线路长度,您可以将第一个代码更改为: idf['

这本身不是一个编程问题,但重要的是用python重新编写干净的程序:

在函数的参数之间留出空间有什么最佳做法吗?例如,哪一个更好:

一,

或 2.

还有,什么更好

一,

或2


在Python中,您已经很好地定义了标准的格式化规则。请看一看。有一些工具可以检查最常见编辑器的规则和集成。

正如@Achim PEP8所指出的,这是一个事实上的指南,因此将其应用到代码中: 您的第一个示例,选项1,但行太长 在第二个示例中,第二个选项是首选的

要符合PEP8线路长度,您可以将第一个代码更改为:

idf['datetime'] = pandas.to_datetime(idf['Year'].astype(str)
idf['datetime'] += ' ' + idf['JD'].astype(str), format = '%Y %j')
不过,我希望:

idf['datetime'] = " ".join([pandas.to_datetime(idf['Year'].astype(str),
                            idf['JD'].astype(str), format = '%Y %j')])

[注意:我遵循PEP8,但有一个例外:我个人认为80对于行长度来说太短,并且经常将检查改为120]

我使用PyCharm,它确实突出了PEP8冲突,但是我不认为符合PEP8的代码是最可读的……当然,你可以不同意大多数Python开发人员的意见-
idf['MONTH'] = idf['datetime'].apply(lambda x: x.month)
idf['DAY']   = idf['datetime'].apply(lambda x: x.day)
idf['unq']   = idf.groupby('Ob').cumcount() + 1 
idf['MONTH'] = idf['datetime'].apply(lambda x: x.month)
idf['DAY'] = idf['datetime'].apply(lambda x: x.day)
idf['unq'] = idf.groupby('Ob').cumcount() + 1 
idf['datetime'] = pandas.to_datetime(idf['Year'].astype(str)
idf['datetime'] += ' ' + idf['JD'].astype(str), format = '%Y %j')
idf['datetime'] = " ".join([pandas.to_datetime(idf['Year'].astype(str),
                            idf['JD'].astype(str), format = '%Y %j')])