基于 PEP8标准和 python 断行技术的字符串格式代码行的最佳分解方法是什么?

By simon at 11 天前 • 0人收藏 • 7人看过

我们的新 CTO 希望我们使用 PEP8标准格式化我们的所有代码。 这包括行数不超过80但最多不超过100个字符的 Python 代码。 我有这个扩展代码行。 关于如何将这一行分成2-3行简洁易读的文字,有什么建议吗。

# Identify if Authenticated Identify"if is Authenticated: fullname request.user.full name if'full name'in request.user else"Identify'mixpanel.Identify ("{}") ;  nmixpanel.people.set ({{"$email": { email } ,"$name": { name }}})''. 格式(email request.user.email,name fullname)

我已经尝试过断弦,比如:

# Identify if Authenticated Identify"if is Authenticated: fullname request.user.full name if'full name'in request.user else"Identify'mixpanel.Identify ("{}") ;  n''mixpanel.people.set ({{"$email": { email } ,"$name": { name }}})''. 格式(email request.user.email,name fullname)

... 但是当我引用另一个 SO 的帖子说这是可以的时候,linting 返回了一个无法识别的格式的错误(红色弯曲)。

我还考虑过把所有事情都放在第一位. 格式.

有什么建议吗?

2 个回复 | 最后更新于 11 天前
11 天前   #1

我会利用括号:

"identify"if is authenticated: fullname request.user.full name if'full name'in request.user else"form ('mixpanel.identify ("{}") ;  n''mixpanel.people.set ({{"$email": { email } ,"$name": { name }}})') identify form. format (email request.user.email,name fullname)
11 天前   #2

我最终会得到一个三重报价传递给 textwrap.dedent,结果是调用格式。Textwrap.dedent ("""需要多少台词就写多少"""). 格式(...). 三元组开头的行继续是为了抑制空白的第一行。 我还喜欢在文档字符串中使用它。

登录后方可回帖

Loading...