Python รูปแบบสตริง () อธิบายด้วยตัวอย่าง

ความหมายของ Python รูปแบบสตริง ()?

Python รูปแบบสตริง() เป็นฟังก์ชันที่ใช้ในการแทนที่ แทนที่ หรือแปลงสตริงด้วยตัวยึดตำแหน่งที่มีค่าที่ถูกต้องในสตริงสุดท้าย มันเป็นฟังก์ชั่นในตัวของ Python คลาสสตริงซึ่งส่งคืนสตริงที่จัดรูปแบบเป็นผลลัพธ์ ตัวแทนภายในสตริงถูกกำหนดไว้ในวงเล็บปีกกา

ตัวอย่างเช่น “ยินดีต้อนรับสู่ Guru99 {}”.format('value here')

ไวยากรณ์ของฟังก์ชัน format() ใน Python

templatestring.format(val1, val2...)

พารามิเตอร์

val1, val2 … : ค่าที่ต้องแทนที่ในสตริงเทมเพลตที่กำหนดซึ่งมีช่องว่างในรูปแบบของวงเล็บปีกกา {} ช่องว่างอาจเป็นสตริง คู่คีย์/ค่า จำนวนเต็ม ตัวเลขจุดลอยตัว อักขระ ฯลฯ

ส่งคืนค่า

ระบบจะส่งคืนสตริงสุดท้ายโดยมีค่าที่ถูกต้องถูกแทนที่ในตำแหน่งที่ระบุในวงเล็บปีกกา

ตัวยึดตำแหน่ง

ตัวแทนในสตริงเทมเพลตจะแสดงโดยใช้เครื่องหมายวงเล็บปีกกา เช่น {} ตัวแทนสามารถเป็น {} ที่ว่างเปล่า หรือสามารถมีตัวแปรได้ เช่น {name} หรือสามารถมีดัชนีตัวเลขได้ เช่น {0} , {1} เป็นต้น

รูปแบบสตริง () ทำงานอย่างไร

เค้ก Python รูปแบบสตริง() วิธีการนี้จะสแกนสตริงต้นฉบับเพื่อหาตัวแทน ตัวแทนอาจเป็นวงเล็บปีกกาว่างเปล่า ({}) อาร์กิวเมนต์ตำแหน่ง กล่าวคือ สตริงสามารถมีตัวแทนที่มีดัชนี 0, 1 เช่น {0}, {1} เป็นต้น

สำหรับอาร์กิวเมนต์คีย์เวิร์ด ชื่อตัวแปรจะปรากฏอยู่ภายในวงเล็บปีกกา เช่น {name}, {age} ในกรณีที่มีวงเล็บปีกกาว่าง ค่าจากรูปแบบจะถูกแทนที่ภายในวงเล็บปีกกาตามลำดับ

ค่าแรกจะถูกแทนที่ด้วยวงเล็บปีกกาว่างอันแรก ตามด้วยค่าถัดไป สำหรับอาร์กิวเมนต์ตำแหน่ง ดัชนีจะเริ่มต้นจาก 0 เป็นต้นไป ค่าจะอยู่ในรูปแบบคั่นด้วยเครื่องหมายจุลภาคและเป็น 0th ค่าจะชี้ไปที่ค่าแรกภายในรูปแบบและอื่นๆ

สำหรับอาร์กิวเมนต์คำสำคัญ เช่น เมื่อคุณใช้ตัวแปรภายในตัวยึดตำแหน่งของคุณ คุณสามารถเรียงลำดับค่าในรูปแบบตามที่คุณต้องการได้

ลำดับไม่สำคัญที่นี่ เนื่องจากค่าจะถูกแทนที่ด้วยชื่อตัวแปรที่อยู่ในรูปแบบ () ต่อไปนี้คือตัวอย่างบางส่วนของวิธีใช้ตัวยึดตำแหน่งภายในสตริงเป็นค่าว่าง ตำแหน่ง และการใช้คำสำคัญหรือตัวแปร

ตัวอย่าง: Placeholder ว่างเปล่าแทนที่ด้วยค่าสตริง

ในตัวอย่างด้านล่าง สตริงมีวงเล็บปีกกาว่างเปล่า ({}) ค่าที่กำหนดให้กับรูปแบบจะถูกแทนที่ภายในวงเล็บปีกกา ({})

ค่าที่เราต้องการแทนที่คือสตริง

ตัวอย่าง:

การใช้การจัดรูปแบบสตริงใน Pythonเราต้องการให้วงเล็บปีกกา ({}) ถูกแทนที่ด้วยค่าสตริง โดยค่านี้จะถูกกำหนดให้กับ format(“Guru99”) เมื่อดำเนินการแล้ว วงเล็บปีกกา {} จะถูกแทนที่ด้วย Guru99 และคุณจะได้รับสตริงสุดท้ายเป็น ยินดีต้อนรับสู่บทช่วยสอน Guru99

print ("Welcome to {} tutorials".format("Guru99"))

Output:

Welcome to Guru99 tutorials

ตัวอย่าง: ตัวยึดตำแหน่งว่างจะแทนที่ด้วยค่าตัวเลข

ในตัวอย่างด้านล่าง เราต้องการให้ค่าตัวเลขถูกแทนที่ภายในสตริงต้นฉบับ เครื่องหมายวงเล็บปีกกา ({}) จะถูกเพิ่มในตำแหน่งที่คุณต้องการค่าตัวเลข เมื่อดำเนินการ เครื่องหมายวงเล็บปีกกาว่าง ({}) จะถูกแทนที่ด้วยค่าตัวเลข

ตัวอย่าง:

คุณยังสามารถใช้ format() เพื่อแทรกตัวเลขภายในสตริงของคุณได้ ตัวอย่างนี้จะแสดงวิธีการแทนที่ช่องว่าง {} ด้วยตัวเลข 99 ที่อยู่ใน format()

print ("Welcome to Guru{} Tutorials".format("99"))

Output:

Welcome to Guru99 Tutorials

ตัวอย่าง: การใช้อาร์กิวเมนต์ของตัวแปรหรือคีย์เวิร์ดภายใน Placeholder

นอกจากนี้ยังสามารถใช้ตัวแปรภายในวงเล็บปีกกาได้ ดังที่แสดงในตัวอย่างด้านล่าง ตัวแปรถูกกำหนดไว้ภายใน format() ดังนั้น เมื่อดำเนินการ ค่าที่กำหนดให้กับตัวแปรจะถูกแทนที่ภายในสตริงต้นฉบับ

ตัวอย่าง:

คุณสามารถใช้ตัวแปรภายในวงเล็บปีกกาได้ เช่น {name} {num} ค่าสำหรับตัวแปร name และ num จะอยู่ในรูปแบบ format(name=”Guru”, num=”99″) ค่าที่กำหนดให้กับ name และ num จะถูกแทนที่ภายใน {name} และ {num}

print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))

Output:

Welcome to Guru99 Tutorials

ตัวอย่าง: การใช้ดัชนีหรืออาร์กิวเมนต์ตำแหน่งภายใน Placeholder

สามารถแทนที่ค่าได้โดยใช้ดัชนีเช่น 0, 1, 2 ภายในตัวยึดตำแหน่ง ค่าจะถูกเลือกตามลำดับจากรูปแบบ () ดังแสดงในตัวอย่างด้านล่าง

ตัวอย่าง:

print ("Welcome to {0}{1} Tutorials".format("Guru","99"))

Output:

Welcome to Guru99 Tutorials

ตัวอย่าง: การใช้ตัวยึดตำแหน่งหลายตัวภายในสตริง

ในตัวอย่างนี้ เราจะใช้ตัวยึดตำแหน่งว่างหลายตัว

ตัวอย่าง:

สตริงที่ใช้ในตัวอย่างมีตัวยึดตำแหน่งว่างหลายตัว และตัวยึดตำแหน่งแต่ละตัวจะอ้างอิงถึงค่าภายในรูปแบบ () ค่าแรกจะถูกแทนที่ด้วยตัวยึดตำแหน่งแรกและต่อๆ ไป

print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))

Output:

Guru99 is totally new kind of learning experience!

การจัดรูปแบบภายในตัวยึดตำแหน่ง

คุณคงเห็นว่ามีความเป็นไปได้ที่จะมี Placeholder เป็นค่าว่าง โดยมีตัวแปรหรือดัชนี ก็สามารถสมัครได้เช่นกัน Python การจัดรูปแบบสตริงภายในตัวยึดตำแหน่ง

นี่คือรายการรูปแบบ

รูปแบบ Descriptไอออน ตัวอย่าง
:d มันจะให้ผลลัพธ์ในรูปแบบทศนิยมเมื่อใช้ภายในตัวยึดตำแหน่ง print("The binary to decimal value is : {:d}".format(0b0011))

Output:

The binary to decimal value is  : 3
:b มันจะให้ผลลัพธ์ในรูปแบบไบนารี่เมื่อใช้ภายในตัวยึดตำแหน่ง print("The binary value is : {:b}".format(500))

Output:

The binary value is : 111110100
:e มันจะให้ผลลัพธ์ในรูปแบบวิทยาศาสตร์เมื่อใช้ภายในตัวยึดตำแหน่ง เลขชี้กำลัง e ในเอาต์พุตจะเป็นตัวพิมพ์เล็ก print("The scientific value is : {:e}".format(40))

Output:

The scientific format value is : 4.000000e+01
:E มันจะให้ผลลัพธ์ในรูปแบบวิทยาศาสตร์เมื่อใช้ภายในตัวยึดตำแหน่ง เลขชี้กำลัง E ในเอาต์พุตจะเป็นตัวพิมพ์ใหญ่ print("The scientific value is : {:E}".format(40))

Output:

The scientific value is : 4.000000E+01
:f สิ่งนี้จะส่งออกรูปแบบตัวเลขจุดคงที่ ตามค่าเริ่มต้น คุณจะได้ผลลัพธ์เป็นตัวเลขใดๆ ที่มีทศนิยมหกตำแหน่ง ในกรณีที่ต้องการทศนิยมไม่เกิน 2 ตำแหน่ง ให้ใช้เป็น 2f คือ มหัพภาค (.) หน้า 2f print("The value is : {:f}".format(40))

Output:

The value is  : 40.000000

ตัวอย่าง: แสดงผลลัพธ์สูงสุด 2 ตำแหน่งทศนิยม

print("The value is : {:.2f}".format(40))

Output:

The value is: 40.00
:o สิ่งนี้จะส่งออกรูปแบบฐานแปด print("The value is : {:o}".format(500))

Output:

The value is  : 764
:x สิ่งนี้จะส่งออกรูปแบบเลขฐานสิบหกเป็นตัวพิมพ์เล็ก print("The value is : {:x}".format(500))

Output:

The value is  : 1f4
:X สิ่งนี้จะส่งออกรูปแบบเลขฐานสิบหกเป็นตัวพิมพ์ใหญ่ print("The value is : {:X}".format(500))

Output:

The value is  : 1F4
:n สิ่งนี้จะส่งออกรูปแบบตัวเลข print("The value is : {:n}".format(500.00))

Output:

The value is  : 500
:% นี่จะให้ผลลัพธ์ในรูปแบบเปอร์เซ็นต์
ตามค่าเริ่มต้น จะให้ทศนิยม 6 ตำแหน่งสำหรับเปอร์เซ็นต์เอาต์พุต ในกรณีที่คุณไม่ต้องการค่าทศนิยม คุณสามารถใช้จุดด้วย 0 เช่น (:.0%)
print("The value is : {:%}".format(0.80))

Output:

The value is  : 80.000000%

ตัวอย่างนี้แสดงวิธีข้ามตำแหน่งทศนิยมโดยใช้ {:.0%} ภายในตัวยึดตำแหน่ง

print("The value is : {:.0%}".format(0.80))
Output:

The value is: 80%
:_ สิ่งนี้จะแสดงขีดล่างเป็นตัวคั่นหลักพัน มีให้ใช้งานตั้งแต่ python 3.6+ print("The value is {:_}".format(1000000))

Output:

The value is  : 1_000_000
:, สิ่งนี้จะส่งออกเครื่องหมายจุลภาคเป็นตัวคั่นหลักพัน print("The value is : {:,}".format(1000000))

Output:

The value is  : 1,000,000

เครื่องหมายจุลภาค(,) ถูกเพิ่ม เป็นตัวคั่นหลักพันตามที่แสดงในเอาต์พุต

: นี่จะเพิ่มช่องว่างก่อนตัวเลขบวกใดๆ ตัวอย่างนี้แสดงวิธีการเพิ่มช่องว่างหรือช่องว่างภายในก่อนหมายเลขที่กำหนด หมายเลข 5 ระบุจำนวนช่องว่างที่คุณต้องการก่อนหมายเลข

print("The value is: {:5}".format(40))

Output:

The value is:    40
:- นี่จะเพิ่มเครื่องหมายลบก่อนตัวเลขลบ ตัวอย่างนี้แสดงวิธีรับเอาต์พุตที่มีเครื่องหมายลบ (-) หน้าตัวเลขโดยใช้ {:-}

print("The value is: {:-}".format(-40))

Output:

The value is: -40
:+ คุณสามารถใช้เครื่องหมายบวกเพื่อระบุว่าตัวเลขเป็นค่าบวก ตัวอย่างแสดงวิธีรับเอาต์พุตที่มีเครื่องหมายบวก (+) หน้าตัวเลขโดยใช้ {:+}

print("The value is: {:+}".format(40))

Output:

The value is: +40
:= เท่ากับ ใช้วางเครื่องหมาย +/- ทางด้านซ้าย ตัวอย่างแสดงวิธีรับเอาต์พุตที่มีเครื่องหมายบวก (+/-) ก่อนเครื่องหมายเท่ากับโดยใช้ {:=}

print("The value is {:=}".format(-40))

Output:

The value is -40
:^ สิ่งนี้จะจัดกึ่งกลางผลลัพธ์สุดท้าย ตัวอย่างแสดงการใช้ {:^} เพื่อจัดแนวข้อความให้อยู่ตรงกลาง หมายเลข 10 ใช้เพื่อเพิ่มช่องว่าง 10 ช่องเพื่อแสดงการจัดกึ่งกลางเมื่อมีการแทนที่ค่า

print("The value {:^10} is positive value".format(40))

Output:

The value     40     is a positive value

ที่นี่ คุณสามารถใช้ 10 ซึ่งจะเพิ่มช่องว่าง 10 ช่องในข้อความสุดท้าย และค่าที่จะแทนที่จะจัดกึ่งกลางระหว่างช่องว่าง 10 ช่อง เพิ่มช่องว่าง 10 เพื่อแสดงการจัดตำแหน่งกึ่งกลางของค่าที่ถูกแทนที่

:> สิ่งนี้จะจัดตำแหน่งผลลัพธ์สุดท้ายให้ถูกต้อง เพิ่มช่องว่าง 10 โดยใช้ (:>10) และค่าที่ถูกแทนที่จะอยู่ชิดขวา

print("The value {:>10} is positive value".format(40))

Output:

The value         40 is positive value
:< นี่จะจัดตำแหน่งผลลัพธ์สุดท้ายทิ้งไว้ เพิ่มช่องว่าง 10 โดยใช้ (:<10) และค่าการแทนที่จะถูกจัดชิดซ้าย

print("The value {:<10} is positive value".format(40))

Output:

The value 40         is positive value

การใช้คลาสที่มีรูปแบบ ()

ในตัวอย่างนี้ เรากำลังสร้างคลาสและใช้อ็อบเจ็กต์ของคลาสภายใน .format Python วิธี. ตัวยึดตำแหน่งจะอ้างถึงคุณสมบัติของคลาสหรือสมาชิกที่ใช้วัตถุคลาส

ตัวอย่าง:

คลาสถูกเรียกภายในรูปแบบ (c=MyClass()) วัตถุ c จะมีการอ้างอิงถึงคุณสมบัติและวิธีการภายในคลาส MyClass()

class MyClass:
    msg1="Guru"
    msg2="Tutorials"   

print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))

Output:

Welcome to Guru99 Tutorials!

การใช้พจนานุกรมที่มีรูปแบบ ()

นอกจากนี้ยังสามารถใช้พจนานุกรมในรูปแบบ () ดังแสดงในตัวอย่างด้านล่าง:

my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))

Output:

Welcome to Guru99 Tutorials!

การทดแทนตัวแปรเสริม

เมื่อใช้เมธอด string.format() คุณสามารถเพิ่มช่องว่างภายในโดยใช้ตัวยึดตำแหน่งภายในสตริงของคุณได้

ตัวอย่าง:

ในตัวอย่างด้านล่าง เราจะเพิ่มช่องว่างภายใน Placeholder โดยใช้ format() หากต้องการเพิ่มช่องว่าง คุณต้องระบุจำนวนช่องว่างภายในวงเล็บปีกกาหลังเครื่องหมายโคลอน (:) ดังนั้น Placeholder จะมีลักษณะดังนี้ {:5}

print("I have {:5} dogs and {:5} cat".format(2,1))

Output:

I have     2 dogs and     1 cat

คุณยังสามารถระบุดัชนีภายในตัวยึดตำแหน่งได้ เช่น: {0:5} โดยที่ 0 จะอ้างอิงถึงค่าแรกภายในรูปแบบ

print("I have {0:5} dogs and {1:5} cat".format(2,1))

Output:

I have     2 dogs and     1 cat

สรุป

  • Python คลาสสตริงให้คำสั่งในตัวที่สำคัญแก่เราที่เรียกว่า format() ซึ่งช่วยให้เราแทนที่ แทนที่ หรือแปลงสตริงด้วยตัวยึดตำแหน่งด้วยค่าที่ถูกต้องในสตริงสุดท้าย
  • ตัวยึดตำแหน่งภายในโมดูลสตริง Python ถูกกำหนดไว้ในวงเล็บปีกกา เช่น “ยินดีต้อนรับสู่ Guru99 {}”.format('ค่าที่นี่')
  • ตัวยึดตำแหน่งสามารถเว้นว่างได้ {} หรืออาจมีตัวแปรเช่น {name} หรืออาจมีดัชนีตัวเลข เช่น {0} , {1} เป็นต้น
  • คุณสามารถใช้การจัดรูปแบบสตริงได้ Python ตัวยึดตำแหน่งภายในที่สามารถช่วยเพิ่มช่องว่างภายใน จัดกึ่งกลาง และยังช่วยเกี่ยวกับการจัดรูปแบบตัวเลขอีกด้วย