หากคุณใช้ตัวตรวจสอบโค้ดที่สอดคล้องกับ PEP8 เช่น flake8 ใน Python คุณจะได้รับข้อผิดพลาดต่อไปนี้เมื่อบรรทัดยาวเกิน 80 อักขระE501 line too long
ฉันจะแสดงวิธีแยกสตริงที่ยาวกว่า 80 อักขระ เช่น URL ออกเป็นโค้ดหลายบรรทัด
- ละเว้นการขึ้นบรรทัดใหม่ด้วยแบ็กสแลช (\)
- ตัวแบ่งบรรทัดสามารถใส่ในวงเล็บได้อย่างอิสระ
นอกจากนี้ โมดูล textwrap ยังมีประโยชน์หากคุณต้องการส่งออกและแสดงสตริงที่ยาวโดยการตัดคำหรือย่อ
หากจำนวนอักขระในบรรทัดยาวกว่าในสายอักขระยาว บรรทัดสามารถแตกในโค้ดได้เช่นกัน
ละเว้นการขึ้นบรรทัดใหม่ด้วยแบ็กสแลช (\)
ใน Python แบ็กสแลช (\) เป็นอักขระต่อเนื่อง และเมื่อวางไว้ที่ท้ายบรรทัด จะไม่สนใจการขึ้นบรรทัดใหม่ และถือว่าบรรทัดนั้นดำเนินต่อไป
n = 1 + 2 \
+ 3
print(n)
# 6
นอกจากนี้ เมื่อตัวอักษรสตริงหลายตัวเขียนต่อเนื่องกัน จะถูกต่อกันเพื่อสร้างสตริงเดียวดังที่แสดงด้านล่าง
s = 'aaa' 'bbb'
print(s)
# aaabbb
เมื่อรวมทั้งสองแล้ว สตริงยาวสามารถเขียนเป็นโค้ดหลายบรรทัดได้ดังที่แสดงด้านล่าง
s = 'https://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://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
โปรดทราบว่าเฉพาะตัวอักษรสตริง (ที่อยู่ใน ‘ หรือ “”) เท่านั้นที่สามารถต่อกันได้ และตัวแปรที่มีสตริงจะส่งผลให้เกิดข้อผิดพลาด
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
หากต้องการเชื่อมตัวแปรระหว่างกันหรือตัวแปรกับตัวอักษรสตริง ให้ใช้ตัวดำเนินการ +
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
แม้ว่าจะถูกคั่นด้วยแบ็กสแลช (\) ตัวดำเนินการ + ก็ยังจำเป็นในการเชื่อมโยงตัวแปรเข้าด้วยกัน
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
ตัวแบ่งบรรทัดสามารถใส่ในวงเล็บได้อย่างอิสระ
ใน Python คุณสามารถแบ่งบรรทัดได้อย่างอิสระภายในวงเล็บต่อไปนี้ คุณสามารถใช้กฎนี้เพื่อใส่สตริงข้อความยาวๆ ไว้ในวงเล็บ
()
{}
[]
โปรดทราบว่าวงเล็บต่อไปนี้มีความหมาย
{} = set
[] = list
ด้วยเหตุผลนี้ ให้ใช้วงเล็บเหลี่ยม () เมื่อเขียนสตริงยาวๆ หลายบรรทัด
อีกครั้งโดยใช้ข้อเท็จจริงที่ว่าหลายสตริงสามารถต่อกันเพื่อสร้างสตริงเดียว เราสามารถเขียนสิ่งต่อไปนี้
s = ('https://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://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
ในตัวอย่างที่มีแบ็กสแลช ตัวดำเนินการ + จำเป็นเมื่อรวมตัวแปร
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb