f-Stringsพร้อมใช้งานจาก Python 3.6 และมีประโยชน์มากสำหรับการจัดรูปแบบสตริง:
>>> n='you'
>>> f'hello {n}, how are you?'
'hello you, how are you?'
อ่านเพิ่มเติมเกี่ยวกับพวกเขาในหลาม 3 F-Strings: ดีขึ้น String การจัดรูปแบบไวยากรณ์ (คู่มือ) ฉันพบรูปแบบที่น่าสนใจ:
โปรดทราบว่าการใช้การจัดฟันแบบสามครั้งจะส่งผลให้มีการจัดฟันเพียงครั้งเดียวในสตริงของคุณ:
>>> f"{{{74}}}" '{74}'
อย่างไรก็ตามคุณสามารถรับเครื่องมือจัดฟันเพิ่มเติมเพื่อแสดงถ้าคุณใช้เครื่องมือจัดฟันมากกว่าสามรายการ:
>>> f"{{{{74}}}}" '{{74}}'
และนี่คือกรณีที่:
>>> f'{74}'
'74'
>>> f'{{74}}'
'{74}'
ตอนนี้ถ้าเราผ่านสอง{
ถึงสามผลลัพธ์ก็จะเหมือนกัน:
>>> f'{{{74}}}'
'{74}' # same as f'{{74}}' !
ดังนั้นเราต้องการมากถึง 4! ( {{{{
) เพื่อรับวงเล็บสองอันเป็นผลลัพธ์:
>>> f'{{{{74}}}}'
'{{74}}'
ทำไมนี้ จะเกิดอะไรขึ้นกับการจัดฟันสองแบบเพื่อให้ Python ต้องการการเพิ่มพิเศษตั้งแต่วินาทีนั้นเป็นต้นไป
f'{2+2}'
ผลตอบแทน 4, f'{{2+2}}'
ผลตอบแทน 2 + 2, f'{{{2+2}}}'
➝ {4}, f'{{{{2+2}}}}'
➝ {{2 + 2}} และอื่น ๆ มันสมเหตุสมผล แต่ไขปริศนานิดหน่อยตั้งแต่แรกเห็น
f'{74}'
f'74'
str.format
เช่นกัน
"{74}".format(...)
จะต้องมีลำดับอย่างน้อย 74 องค์ประกอบ
f"{{2+2}}"
และf"{{{2+2}}}"
ซึ่งเป็น'{2+2}'
และ'{4}'
ตามลำดับ