ฉันเข้าใจว่าเราควรใช้%sเพื่อเชื่อมสตริงเข้าด้วยกันแทนที่จะเป็น+Python
ฉันสามารถทำสิ่งใดก็ได้:
hello = "hello"
world = "world"
print hello + " " + world
print "%s %s" % (hello, world)
print "{} {}".format(hello, world)
print ' '.join([hello, world])
แต่ทำไมฉันถึงควรใช้สิ่งอื่นนอกเหนือจาก+? การเขียนเรียงต่อกันด้วยวิธีง่าย+กว่าทำได้เร็วกว่า จากนั้นหากคุณดูที่สตริงการจัดรูปแบบคุณจะระบุประเภทเช่น%sและ%dและ ฉันเข้าใจว่ามันจะดีกว่าหากจะระบุประเภทให้ชัดเจน
แต่ฉันอ่านแล้วว่า+ควรหลีกเลี่ยงการใช้การต่อข้อมูลแบบเรียงต่อกันแม้ว่าจะพิมพ์ง่ายกว่าก็ตาม มีเหตุผลที่ชัดเจนที่ควรรวมสตริงเข้าด้วยกันด้วยวิธีใดวิธีหนึ่งเหล่านี้หรือไม่?
%sprintf(3)ไม่ได้สำหรับการเรียงต่อกันก็เป็นสเปคสำหรับการแปลงสตริงการจัดรูปแบบมาจากซี มีหลายกรณีที่ใช้หรือผู้ดำเนินการต่อข้อมูล; ซึ่งคุณใช้ควรขึ้นอยู่กับการตัดสินของสถานการณ์ไม่ใช่ความเชื่อ วิธีง่าย ๆ ในการเขียนรหัสนั้นไม่เกี่ยวข้องทั้งหมดเพราะคุณจะทำเพียงครั้งเดียว
print(f"{hello} {world}") str.format