web-dev-qa-db-fra.com

Comment diviser une longue f-string en python?

Je reçois un line too long pep8 E501 problème.

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

J'ai essayé d'utiliser une chaîne multi-lignes, mais cela apporte un \n, ce qui casse mon test:

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

Comment puis-je le garder sur une seule ligne et passer pep8 peluches

14
surfer190

Vous aurez en effet besoin d'un saut de ligne. Mais f devra être ajouté à la deuxième ligne:

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

Voici une petite démo:

In [97]: a = 123

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

Utilisez des parenthèses et concaténation littérale de chaîne :

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

Remarque, le premier littéral n'a pas besoin d'un f, mais je l'inclus pour la cohérence/lisibilité.

21
juanpa.arrivillaga

Ajoutez simplement une barre oblique inversée \ personnage:

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