如何在Python中拆分一个长f字符串?

vdgimpew  于 5个月前  发布在  Python
关注(0)|答案(3)|浏览(61)

我得到了一个 * 行太长 * PEP 8E501 的问题。

f'Leave Request created successfully. Approvers sent the request for approval: {leave_approver_list}'

字符串
我尝试使用多行字符串,但这会带来\n,这破坏了我的测试:

f'''Leave Request created successfully.
Approvers sent the request for approval: {leave_approver_list}'''


我怎样才能保持它单线和通过PEP 8 linting?

liwlm1x9

liwlm1x91#

使用括号和字符串文字连接:

msg = (
    f'Leave Request created successfully. '
    f'Approvers sent the request for approval: {leave_approver_list}'
)

字符串
注意,第一个文本不需要f,但我为了一致性/可读性而包含它。

6kkfgxo0

6kkfgxo02#

除非将字符串括在圆括号内,否则需要使用换行符。在这种情况下,f需要前置到第二行:

'Leave Request created successfully.'\
f'Approvers sent the request for approval: {leave_approver_list}'

字符串
这里有一个小demo:

In [97]: a = 123

In [98]: 'foo_'\
    ...: f'bar_{a}'
Out[98]: 'foo_bar_123'


我推荐juanpa的答案,因为它更简洁,但这是一种方法。

dwbf0jvd

dwbf0jvd3#

如果你在write语句中使用f字符串,你必须在第一个字面值前有一个f。否则,它将打印格式说明符而不是所需的输出。

相关问题