Hướng dẫn python f-string line too long - dòng f-string của python quá dài

76

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang nhận được một dòng quá dài PEP 8 E501.

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

Tôi đã thử sử dụng một chuỗi nhiều dòng, nhưng điều đó mang lại trong một

f'''Leave Request created successfully.
Approvers sent the request for approval: {leave_approver_list}'''
3, phá vỡ bài kiểm tra của tôi:

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

Làm thế nào tôi có thể giữ nó một dòng và vượt qua PEP & NBSP; 8 Linting?

Hướng dẫn python f-string line too long - dòng f-string của python quá dài

Đã hỏi ngày 20 tháng 2 năm 2018 lúc 8:55Feb 20, 2018 at 8:55

Hướng dẫn python f-string line too long - dòng f-string của python quá dài

1

Sử dụng dấu ngoặc đơn và chuỗi chữ theo nghĩa đen:

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

Lưu ý, nghĩa đen đầu tiên không cần

f'''Leave Request created successfully.
Approvers sent the request for approval: {leave_approver_list}'''
4, nhưng tôi bao gồm nó cho tính nhất quán/dễ đọc.

Đã trả lời ngày 20 tháng 2 năm 2018 lúc 9:05Feb 20, 2018 at 9:05

Hướng dẫn python f-string line too long - dòng f-string của python quá dài

6

Bạn sẽ cần một lần ngắt dòng trừ khi bạn bọc chuỗi của bạn trong ngoặc đơn. Trong trường hợp này,

f'''Leave Request created successfully.
Approvers sent the request for approval: {leave_approver_list}'''
4 sẽ cần được chuẩn bị cho dòng thứ hai:

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

Đây là một bản demo nhỏ:

In [97]: a = 123

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

Tôi đề nghị câu trả lời của Juanpa vì nó sạch hơn, nhưng đây là một cách để làm điều này.

Hướng dẫn python f-string line too long - dòng f-string của python quá dài

Đã trả lời ngày 20 tháng 2 năm 2018 lúc 8:59Feb 20, 2018 at 8:59

Hướng dẫn python f-string line too long - dòng f-string của python quá dài

cs95cs95cs95

348K87 Huy hiệu vàng641 Huy hiệu bạc689 Huy hiệu Đồng87 gold badges641 silver badges689 bronze badges

3

Khi sử dụng các trình kiểm tra mã PEP8 như Flake8 trong Python, một lỗi,

f'''Leave Request created successfully.
Approvers sent the request for approval: {leave_approver_list}'''
6, được nêu ra khi một dòng vượt quá 80 ký tự.

Bài viết này mô tả cách viết một chuỗi dài không chứa một dòng mới trên nhiều dòng.

  • Sử dụng dấu gạch chéo ngược (
    f'''Leave Request created successfully.
    Approvers sent the request for approval: {leave_approver_list}'''
    
    7) làm ký tự tiếp tục dòng
  • Sử dụng dấu ngoặc đơn

Xem bài viết sau đây cho các hoạt động khác nhau liên quan đến các chuỗi với các lần ngắt dòng.

  • Xử lý các lần phá vỡ dòng (Newlines) trong Python

Nếu bạn muốn bọc hoặc cắt các chuỗi dài, mô -đun TextWrap rất hữu ích. Xem bài viết sau đây.

  • Bọc và cắt ngắn một chuỗi với textwrap trong python

Nếu số lượng ký tự trong một dòng trở nên quá dài do chuỗi phương thức, bạn có thể phá vỡ dòng theo cùng một cách.

  • Chuỗi phương pháp với sự phá vỡ dòng trong Python

Sử dụng dấu gạch chéo ngược (f'''Leave Request created successfully. Approvers sent the request for approval: {leave_approver_list}''' 7) làm ký tự tiếp tục dòng

Sử dụng dấu ngoặc đơn

n = 1 + 2 \
    + 3

print(n)
# 6

Xem bài viết sau đây cho các hoạt động khác nhau liên quan đến các chuỗi với các lần ngắt dòng.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Xử lý các lần phá vỡ dòng (Newlines) trong Python

s = 'https://ja.wikipedia.org/wiki/'\
    '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'\
    '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E'

print(s)
# https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

Nếu bạn muốn bọc hoặc cắt các chuỗi dài, mô -đun TextWrap rất hữu ích. Xem bài viết sau đây.

s_var = 'xxx'

# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax

Bọc và cắt ngắn một chuỗi với textwrap trong python

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Nếu số lượng ký tự trong một dòng trở nên quá dài do chuỗi phương thức, bạn có thể phá vỡ dòng theo cùng một cách.

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

Chuỗi phương pháp với sự phá vỡ dòng trong Python

  • Trong Python, một dấu gạch chéo ngược (
    f'''Leave Request created successfully.
    Approvers sent the request for approval: {leave_approver_list}'''
    
    7) là một nhân vật tiếp tục dòng. Nếu một dấu gạch chéo ngược được đặt ở cuối một dòng, người ta coi là dòng được tiếp tục trên dòng tiếp theo.

Sử dụng dấu ngoặc đơn

Trong Python, bạn có thể tự do phá vỡ dòng trong ngoặc đơn (

msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
5,
msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
6,
msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
7). Sử dụng quy tắc này, bạn có thể viết một chuỗi dài trên nhiều dòng với dấu ngoặc đơn thay vì dấu gạch chéo ngược.

msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
6 được sử dụng cho
msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
9 và
msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
7 được sử dụng cho
'Leave Request created successfully.'\
f'Approvers sent the request for approval: {leave_approver_list}'
1, sử dụng
msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
5 cho mục đích đó. Lưu ý rằng
'Leave Request created successfully.'\
f'Approvers sent the request for approval: {leave_approver_list}'
3 được tạo bởi dấu phẩy, không phải
msg = (
         f'Leave Request created successfully. '
         f'Approvers sent the request for approval: {leave_approver_list}'
)
5.

  • Một tuple với một yếu tố yêu cầu một dấu phẩy trong Python

Bạn có thể viết như sau.

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

Nếu các biến được bao gồm, bạn cần toán tử

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

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

Làm thế nào để bạn phá vỡ một F dài

Các đường dài có thể được phá vỡ trên nhiều dòng bằng cách gói các biểu thức trong ngoặc đơn.Chúng nên được sử dụng theo sở thích để sử dụng dấu gạch chéo ngược để tiếp tục dòng. "wrapping expressions in parentheses. These should be used in preference to using a backslash for line continuation."

Làm thế nào để bạn phá vỡ một dòng trong f

Về cơ bản, bạn có ba lựa chọn;Đầu tiên là xác định một dòng mới là một biến chuỗi và tham chiếu biến trong niềng răng flly f-string.Cách giải quyết thứ hai là sử dụng hệ điều hành.Linesep trả về ký tự dòng mới và cách tiếp cận cuối cùng là sử dụng CHR (10) tương ứng với ký tự dòng mới Unicode.define a new line as a string variable and reference that variable in f-string curly braces. The second workaround is to use os. linesep that returns the new line character and the final approach is to use chr(10) that corresponds to the Unicode new line character.

Có thể f

Bạn sẽ thấy ba phương pháp lan truyền các chuỗi khác nhau trên nhiều dòng bằng cách sử dụng ký tự F-String F F, thoát khỏi trả về và sử dụng trích dẫn ba ("" ").dây cũng vậy.With f-strings, you can do multiline f-strings also.

Làm thế nào để bạn xử lý một chuỗi dài trong Python?

Sử dụng dấu ngoặc đơn trong Python, bạn có thể tự do phá vỡ dòng trong ngoặc đơn ((), {}, []).Sử dụng quy tắc này, bạn có thể viết một chuỗi dài trên nhiều dòng với dấu ngoặc đơn thay vì dấu gạch chéo ngược. In Python, you can freely break the line in parentheses ( () , {} , [] ). Using this rule, you can write a long string on multiple lines with parentheses instead of backslashes.