นั่นเป็นการเริ่มต้น ไม่ใช่วิธีปฏิบัติที่ไม่ถูกต้องในการกำหนดสตริงที่ยาวกว่าของคุณนอกโค้ดที่ใช้ เป็นวิธีแยกข้อมูลและพฤติกรรม ตัวเลือกแรกของคุณคือการรวมตัวอักษรสตริงเข้าด้วยกันโดยปริยายด้วยการทำให้พวกมันอยู่ติดกัน:
("This is the first line of my text, "
"which will be joined to a second.")
หรือด้วยการต่อเนื่องที่สิ้นสุดบรรทัดซึ่งค่อนข้างบอบบางกว่านี้เล็กน้อยตามที่ได้ผล:
"This is the first line of my text, " \
"which will be joined to a second."
แต่นี่ไม่ใช่:
"This is the first line of my text, " \
"which will be joined to a second."
ดูความแตกต่าง? ไม่มี? คุณจะไม่ทำเมื่อมันเป็นรหัสของคุณ
ข้อเสียของการเข้าร่วมโดยนัยคือใช้งานได้กับตัวอักษรสตริงเท่านั้นไม่ใช่กับสตริงที่นำมาจากตัวแปรดังนั้นสิ่งต่างๆจะมีขนดกน้อยลงเมื่อคุณปรับโครงสร้าง นอกจากนี้คุณสามารถแก้ไขการจัดรูปแบบบนสตริงที่รวมกันโดยรวมเท่านั้น
หรือคุณสามารถเข้าร่วมอย่างชัดเจนโดยใช้ตัวดำเนินการเรียงต่อกัน ( +
):
("This is the first line of my text, " +
"which will be joined to a second.")
ชัดแจ้งได้ดีกว่าโดยปริยายเช่นเดียวกับที่เซนของไพ ธ อนพูด แต่สิ่งนี้สร้างสามสายอักขระแทนที่จะเป็นหนึ่งสายและใช้หน่วยความจำมากเป็นสองเท่า: มีสองสายที่คุณเขียนรวมทั้งสองสายที่รวมเข้าด้วยกัน ต้องรู้ว่าเมื่อไหร่ที่จะไม่สนใจเซน ข้อเสียคือคุณสามารถใช้การจัดรูปแบบกับวัสดุย่อยใด ๆ แยกกันในแต่ละบรรทัดหรือกับล็อตทั้งหมดจากนอกวงเล็บ
ในที่สุดคุณสามารถใช้สตริงที่มีการเสนอราคาสามรายการ:
"""This is the first line of my text
which will be joined to a second."""
นี่เป็นสิ่งที่ฉันชอบบ่อยครั้งแม้ว่าพฤติกรรมของมันจะแตกต่างกันเล็กน้อยเนื่องจากขึ้นบรรทัดใหม่และช่องว่างนำหน้าในบรรทัดถัดไปจะปรากฏในสตริงสุดท้ายของคุณ คุณสามารถกำจัดบรรทัดใหม่ด้วยแบ็กสแลชที่กำลังหลบหนี
"""This is the first line of my text \
which will be joined to a second."""
ปัญหานี้มีปัญหาเดียวกันกับเทคนิคเดียวกันข้างต้นในรหัสที่ถูกต้องนั้นจะแตกต่างจากรหัสที่ไม่ถูกต้องโดยช่องว่างที่มองไม่เห็น
สิ่งใดที่ "ดีที่สุด" ขึ้นอยู่กับสถานการณ์เฉพาะของคุณ แต่คำตอบนั้นไม่ใช่แค่สุนทรียภาพ แต่เป็นพฤติกรรมที่แตกต่างกันอย่างหนึ่ง