Làm cách nào để bạn chuyển sang dòng tiếp theo trong python mà không vi phạm mã?

Khi sử dụng trình kiểm tra mã PEP8 chẳng hạn như flake8 trong Python, một lỗi, E501 line too long, sẽ xuất hiện 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 dòng mới trên nhiều dòng

  • Sử dụng dấu gạch chéo ngược (\) làm ký tự nối tiếp dòng
  • sử dụng dấu ngoặc đơn

Xem bài viết sau để biết các thao tác khác nhau liên quan đến chuỗi có ngắt dòng

  • Xử lý ngắt dòng (dòng mới) trong Python

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

  • Bọc và cắt bớt một chuỗi bằng textwrap trong Python

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

  • Chuỗi phương thức có ngắt dòng trong Python

Liên kết được tài trợ

Sử dụng dấu gạch chéo ngược (\) làm ký tự nối tiếp dòng

Trong Python, dấu gạch chéo ngược (\) là ký tự tiếp tục dòng. Nếu dấu gạch chéo ngược được đặt ở cuối dòng, thì dòng đó được coi là tiếp tục ở dòng tiếp theo

n = 1 + 2 \
    + 3

print(n)
# 6

nguồn.

Ngoài ra, nếu nhiều chuỗi ký tự được viết liên tục, chúng sẽ được nối thành một chuỗi như sau

s = 'aaa' 'bbb'

print(s)
# aaabbb

nguồn.

Do đó, bạn có thể viết một chuỗi dài thành nhiều dòng như sau

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

nguồn.

Chỉ các chuỗi ký tự (chuỗi được bao quanh bởi

s = 'aaa' 'bbb'

print(s)
# aaabbb
2 hoặc
s = 'aaa' 'bbb'

print(s)
# aaabbb
3) được nối nếu được viết liên tiếp. Lưu ý rằng trong trường hợp có biến, lỗi sẽ xuất hiện

s_var = 'xxx'

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

nguồn.

Sử dụng toán tử

s = 'aaa' 'bbb'

print(s)
# aaabbb
4 để nối các biến hoặc biến và chuỗi ký tự

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

nguồn.

Bạn cần toán tử

s = 'aaa' 'bbb'

print(s)
# aaabbb
4 để nối các biến, ngay cả khi chúng được phân tách bằng dấu gạch chéo ngược (\)

s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
    + s_var\
    + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

nguồn.

Xem bài viết sau để biết chi tiết về nối chuỗi

  • Nối các chuỗi trong Python (toán tử +, nối, v.v. )

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

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

s = 'aaa' 'bbb'

print(s)
# aaabbb
7,
s = 'aaa' 'bbb'

print(s)
# aaabbb
8,
s = 'aaa' 'bbb'

print(s)
# aaabbb
9). 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 bằng dấu ngoặc đơn thay vì dấu gạch chéo ngược

s = 'aaa' 'bbb'

print(s)
# aaabbb
8 được sử dụng cho
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
1 và
s = 'aaa' 'bbb'

print(s)
# aaabbb
9 được sử dụng cho
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
3, hãy sử dụng
s = 'aaa' 'bbb'

print(s)
# aaabbb
7 cho mục đích đó. Lưu ý rằng
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
5 được tạo bởi dấu phẩy, không phải
s = 'aaa' 'bbb'

print(s)
# aaabbb
7