我試圖堅持PEP 8,我的線條長度限制爲78個字符。如何根據PEP 8格式化這條線?
我有以下聲明:
startTime = time.strptime(request.GET.get('st', (dt.datetime.now() - dt.timedelta(days=1)).strftime("%d/%b/%Y:%H:%M:%S")), "%d/%b/%Y:%H:%M:%S")
我應該如何格式化以便它堅持PEP8(?我應該在哪裏打破它進入新的生產線)
我試圖堅持PEP 8,我的線條長度限制爲78個字符。如何根據PEP 8格式化這條線?
我有以下聲明:
startTime = time.strptime(request.GET.get('st', (dt.datetime.now() - dt.timedelta(days=1)).strftime("%d/%b/%Y:%H:%M:%S")), "%d/%b/%Y:%H:%M:%S")
我應該如何格式化以便它堅持PEP8(?我應該在哪裏打破它進入新的生產線)
startTime = time.strptime(
request.GET.get(
'st',
(
dt.datetime.now() - dt.timedelta(days=1)
).strftime("%d/%b/%Y:%H:%M:%S")
),
"%d/%b/%Y:%H:%M:%S"
)
這一個解決方案,但你使用更多的變量。例如:
time_format = "%d/%b/%Y:%H:%M:%S"
yesterday_date = dt.datetime.now() - dt.timedelta(days=1
這將使得代碼更易讀
其分解成不同的變量:
a_date = (dt.datetime.now() - dt.timedelta(days=1)).strftime("%d/%b/%Y:%H:%M:%S")
req = request.GET.get('st', a_date)
startTime = time.strptime(req, "%d/%b/%Y:%H:%M:%S")
避免在第一時間寫這樣過於複雜代碼:
if 'st' in request.GET:
startTime = time.strptime(request.GET['st'], "%d/%b/%Y:%H:%M:%S")
else:
startTime = (dt.datetime.now() - dt.timedelta(days=1)).timetuple()
爲什麼要生成一個默認解析出來的時間再次而不是隻是去直線嗎?
交叉帖子[如何根據PEP 8格式化此行?](http://programmers.stackexchange.com/q/205917) –
請參閱其他帖子上的評論。抱歉! –