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}'ตามลำดับ