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