การจัดรูปแบบสตริง#
การแนะนำ#
วิธีการจัดรูปแบบข้อความและตัวเลขที่แนะนำใน 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}”– รวมสตริงและตัวแปรในนิพจน์เดียวตัวดำเนินการ
+– เชื่อมต่อสตริงด้วยตนเองพร้อมการแปลงประเภทเพิ่มเติม
เมธอดของสตริง – เปลี่ยนตัวพิมพ์ใหญ่เล็กของข้อความ
การตรวจสอบสตริงย่อย – ทดสอบการมีอยู่หรือตำแหน่งของข้อความ
in– ตรวจสอบว่าคำนั้นมีอยู่ในสตริงหรือไม่startswith– ตรวจสอบว่าสตริงเริ่มต้นด้วยค่าที่กำหนดหรือไม่endswith– ตรวจสอบว่าสตริงลงท้ายด้วยค่าที่กำหนดหรือไม่
ลำดับการหลีกเลี่ยง – จัดรูปแบบเอาต์พุตด้วยอักขระพิเศษ
การจัดรูปแบบตัวเลขในสตริง f#
f-strings ช่วยให้สามารถควบคุมจำนวนหลักทศนิยม การปัดเศษ ตัวคั่นหลักพัน และอื่นๆ ได้อย่างแม่นยำ โดยใช้ตัวระบุรูปแบบต่อไปนี้:
Fixed Decimal Places#
.xf จะแสดงตัวเลข
Usage:
.xf
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
จำนวนตำแหน่งทศนิยมที่จะแสดง |
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ตัวเลขที่จะปัดเศษ |
|
จำนวนตำแหน่งทศนิยมที่จะปัดเศษ |
# 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%
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
จำนวนตำแหน่งทศนิยมที่จะแสดง |
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ส่วนย่อยที่จะตรวจสอบที่จุดเริ่มต้นของสตริง |
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ส่วนย่อยของสตริงที่จะตรวจสอบที่ส่วนท้ายของสตริง |
# 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)