การจัดรูปแบบสตริง#

การแนะนำ#

วิธีการจัดรูปแบบข้อความและตัวเลขที่แนะนำใน Python คือการใช้ f-strings ซึ่งช่วยให้สามารถฝังตัวแปร นิพจน์ และการเรียกใช้ฟังก์ชันไว้ภายในได้โดยตรง {}.

ในการสร้างสตริง f ให้เพิ่ม f ไว้ข้างหน้าสตริง และวางตัวแปร นิพจน์ หรือการเรียกฟังก์ชันใดๆ ไว้ภายใน {}

x = 1
y = 5

# Display the variables using an f-string
controller.screen.print(f"Position: ({x}, {y})")

# Display a calculation with an f-string
controller.screen.print(f"Sum: {5 + 3}")

# Display the robot's battery capacity with an f-string
controller.screen.print(f"Battery: {controller.get_battery_level()}%")

f-strings – ฝังตัวแปรและนิพจน์ลงในข้อความโดยตรง

  • f”{value}” – แสดงตัวแปร นิพจน์ หรือการเรียกฟังก์ชันภายในสตริง

การจัดรูปแบบตัวเลขในสตริง f – ควบคุมวิธีการแสดงค่าตัวเลข

  • :.xf – กำหนดจำนวนตำแหน่งทศนิยมที่จะแสดง

  • round – ปัดเศษตัวเลขให้เหลือจำนวนทศนิยมที่กำหนด

  • :, – เพิ่มเครื่องหมายจุลภาคเป็นตัวคั่นหลักพัน

  • :.x% – แปลงเลขฐานสิบเป็นเปอร์เซ็นต์โดยมีทศนิยม x ตำแหน่ง

  • :#x – จัดรูปแบบตัวเลขเป็นเลขฐานสิบหก

  • :b – จัดรูปแบบตัวเลขเป็นเลขฐานสอง

การรวมสตริง – การรวมข้อความและค่า

  • f”{value}” – รวมสตริงและตัวแปรในนิพจน์เดียว

  • ตัวดำเนินการ+ – เชื่อมต่อสตริงด้วยตนเองพร้อมการแปลงประเภทเพิ่มเติม

เมธอดของสตริง – เปลี่ยนตัวพิมพ์ใหญ่เล็กของข้อความ

  • upper – แปลงอักขระทั้งหมดเป็นตัวพิมพ์ใหญ่

  • lower – แปลงอักขระทั้งหมดเป็นตัวพิมพ์เล็ก

การตรวจสอบสตริงย่อย – ทดสอบการมีอยู่หรือตำแหน่งของข้อความ

  • in – ตรวจสอบว่าคำนั้นมีอยู่ในสตริงหรือไม่

  • startswith – ตรวจสอบว่าสตริงเริ่มต้นด้วยค่าที่กำหนดหรือไม่

  • endswith – ตรวจสอบว่าสตริงลงท้ายด้วยค่าที่กำหนดหรือไม่

ลำดับการหลีกเลี่ยง – จัดรูปแบบเอาต์พุตด้วยอักขระพิเศษ

  • \n – เพิ่มการขึ้นบรรทัดใหม่ (บรรทัดใหม่)

  • \t – เพิ่มช่องว่างแท็บระหว่างรายการ

การจัดรูปแบบตัวเลขในสตริง f#

f-strings ช่วยให้สามารถควบคุมจำนวนหลักทศนิยม การปัดเศษ ตัวคั่นหลักพัน และอื่นๆ ได้อย่างแม่นยำ โดยใช้ตัวระบุรูปแบบต่อไปนี้:

Fixed Decimal Places#

.xf จะแสดงตัวเลข

Usage:
.xf

พารามิเตอร์

คำอธิบาย

x

จำนวนตำแหน่งทศนิยมที่จะแสดง

# Display pi with 2 decimal places
pi = 3.1415926535
controller.screen.print(f"Pi: {pi:.2f}")

# Output: Pi: 3.14

Rounding Numbers#

round ปัดเศษตัวเลขที่อยู่นอกสตริง f หรือภายใน {}

Usage:
round(number, x)

พารามิเตอร์

คำอธิบาย

number

ตัวเลขที่จะปัดเศษ

x

จำนวนตำแหน่งทศนิยมที่จะปัดเศษ

# Display a value rounded to only 2 decimal places
value = 5.6789
controller.screen.print(f"{round(value, 2)}")

# Output: 5.68

Thousands Separator#

, แทรกเครื่องหมายจุลภาคเป็นตัวคั่นหลักพันเพื่อให้ตัวเลขขนาดใหญ่สามารถอ่านได้ง่ายขึ้น

Usage:
,

พารามิเตอร์

คำอธิบาย

ตัวระบุรูปแบบนี้ไม่มีพารามิเตอร์

# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")

# Output: 1,234,567

Percentage#

.x% จะแปลงค่าทศนิยมเป็นเปอร์เซ็นต์

Usage:
.x%

พารามิเตอร์

คำอธิบาย

x

จำนวนตำแหน่งทศนิยมที่จะแสดง

# Display a converted decimal to a percentage
value = 0.875

controller.screen.print(f"{value:.1%}")

# Output: 87.5%

Hexadecimal#

.#x แปลงตัวเลขเป็นเลขฐานสิบหก

Usage:
.#x

พารามิเตอร์

คำอธิบาย

ตัวระบุรูปแบบนี้ไม่มีพารามิเตอร์

# Convert 255 to hexadecimal
number = 255

controller.screen.print(f"{number:#x}")

# Output: 0xff

Binary#

b แปลงตัวเลขเป็นเลขฐานสอง (ฐาน 2)

Usage:
b

พารามิเตอร์

คำอธิบาย

ตัวระบุรูปแบบนี้ไม่มีพารามิเตอร์

# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")

# Output: Binary: 11

การรวมสตริง#

คุณสามารถรวม (หรือต่อ) สตริงได้โดยใช้สองวิธี:

Using f-strings#

ด้วย f-strings คุณสามารถฝังตัวแปรไว้ภายใน {} ได้โดยตรง

# Display an answer based on the given emotion
emotion = "good"

controller.screen.print(f"I'm {emotion}, you?")

+ Operator#

คุณสามารถรวมสตริงด้วยตนเองโดยใช้ตัวดำเนินการ + ได้

หมายเหตุ: ข้อมูลที่ไม่ใช่สตริงจะต้องถูกแปลงเป็นสตริงก่อนโดยใช้ str()

# Display the x and y values
x = 10
y = 20

controller.screen.print("X: " + str(x) + ", Y: " + str(y))

เมธอดสตริง#

Python มีเมธอดในตัวสำหรับแก้ไขและตรวจสอบสตริง

upper#

upper แปลงตัวอักษรทั้งหมดในสตริงให้เป็นตัวพิมพ์ใหญ่

Usage:
upper()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Display a message in uppercase
message = "vexcode"

controller.screen.print(message.upper())

# Output: VEXCODE

lower#

lower แปลงตัวอักษรทั้งหมดในสตริงให้เป็นตัวพิมพ์เล็ก

Usage:
lower()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Display a message in lowercase
message = "VEXCODE"

controller.screen.print(message.lower())

# Output: vexcode

การตรวจสอบสตริงย่อย#

in#

in เป็นคีย์เวิร์ดที่ส่งค่าบูลีนกลับมาเพื่อระบุว่าสตริงย่อย (คำหรือส่วนของข้อความ) นั้นมีอยู่ในสตริงหลักหรือไม่

  • True – คำนั้นมีอยู่ในสตริง

  • False – คำนั้นไม่มีอยู่ในสตริง

# Display a message if "Hey" is in the string
message = "Hey everyone!"

if "Hey" in message:
    controller.screen.print("Hello!")

startswith#

startswith ส่งคืนค่าบูลีนที่ระบุว่าสตริงเริ่มต้นด้วยค่าที่กำหนดหรือไม่

  • True – คำนั้นเป็นคำแรกของสตริง

  • False – คำนั้นไม่ได้ขึ้นต้นสตริง

Usage:
startswith(substring)

พารามิเตอร์

คำอธิบาย

substring

ส่วนย่อยที่จะตรวจสอบที่จุดเริ่มต้นของสตริง

# Display a message if the string starts with "AIR"
message = "AIR Drone"

if message.startswith("AIR"):
    controller.screen.print("AIR first!")

endswith#

endswith ส่งคืนค่าบูลีนที่ระบุว่าสตริงลงท้ายด้วยค่าที่กำหนดหรือไม่

  • True – คำนั้นเป็นคำสุดท้ายของสตริง

  • False – คำนั้นไม่ใช่คำสุดท้ายของสตริง

Usage:
endswith(substring)

พารามิเตอร์

คำอธิบาย

substring

ส่วนย่อยของสตริงที่จะตรวจสอบที่ส่วนท้ายของสตริง

# Display a message if the string ends with "Drone"
message = "AIR Drone"

if message.endswith("Drone"):
    controller.screen.print("Drone last!")

ลำดับการหลบหนี#

ลำดับการหลีกเลี่ยงคืออักขระพิเศษที่ใช้ภายในสตริงเพื่อจัดรูปแบบเอาต์พุตข้อความ สามารถใช้งานได้เฉพาะกับ คอนโซล เท่านั้น

New Line#

\n จะย้ายข้อความขึ้นบรรทัดใหม่เมื่อพิมพ์

# Display text on two lines
print("First line\nSecond line")

Tab Spacing#

\t จะแทรกช่องว่างแท็บระหว่างคำหรือตัวเลข

# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)