字符串格式化#
介绍#
The recommended way to format text and numbers in Python is with f-strings. They allow variables, expressions, and function calls to be embedded directly inside {}
.
To create an f-string, add f
before the string, and place any variable, expression, or function call inside {}
.
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}”
– Displays variables, expressions, or function calls inside a string.
格式化 f 字符串中的数字 - 控制数值的显示方式。
:.xf
– Sets the number of decimal places to show.round
– Rounds a number to a given number of decimal places.:,
– Adds commas as thousands separators.:.x%
– Converts a decimal to a percentage with x decimal places.:#x
– Formats a number as hexadecimal.:b
– Formats a number as binary.
字符串组合——组合文本和值。
f”{value}”
– Combine strings and variables in a single expression.+
operator – Concatenate strings manually with optional type conversion.
字符串方法——更改文本的大小写。
子字符串检查——测试文本的存在或位置。
in
– Checks if a word exists in a string.startswith
– Checks if a string begins with a given value.endswith
– Checks if a string ends with a given value.
转义序列——使用特殊字符格式化输出。
在 f 字符串中格式化数字#
f 字符串允许使用以下格式说明符精确控制小数位、舍入、千位分隔符等:
Fixed Decimal Places#
.xf
controls how many decimal places a number is displayed with.
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
rounds numbers outside of an f-string or inside of the {}
.
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#
,
inserts commas as thousands separators to make large numbers more readable.
Usage:
,
参数 |
描述 |
---|---|
此格式说明符没有参数。 |
# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")
# Output: 1,234,567
Percentage#
.x%
formats decimal values as percentages.
Usage:
.x%
参数 |
描述 |
---|---|
|
要显示的小数位数。 |
# Display a converted decimal to a percentage
value = 0.875
controller.screen.print(f"{value:.1%}")
# Output: 87.5%
Hexadecimal#
.#x
converts numbers to hexadecimal.
Usage:
.#x
参数 |
描述 |
---|---|
此格式说明符没有参数。 |
# Convert 255 to hexadecimal
number = 255
controller.screen.print(f"{number:#x}")
# Output: 0xff
Binary#
b
converts numbers to binary (base 2).
Usage:
b
参数 |
描述 |
---|---|
此格式说明符没有参数。 |
# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")
# Output: Binary: 11
组合字符串#
您可以使用两种方法来组合(或连接)字符串:
Using f-strings#
With f-strings, you can embed variables directly inside {}
.
# Display an answer based on the given emotion
emotion = "good"
controller.screen.print(f"I'm {emotion}, you?")
+ Operator#
You can combine strings manually using the +
operator.
Note: Non-strings must first be converted to strings using str()
.
# Display the x and y values
x = 10
y = 20
controller.screen.print("X: " + str(x) + ", Y: " + str(y))
字符串方法#
Python 提供了修改和检查字符串的内置方法。
upper#
upper
converts all letters in a string to uppercase.
Usage:
upper()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Display a message in uppercase
message = "vexcode"
controller.screen.print(message.upper())
# Output: VEXCODE
lower#
lower
converts all letters in a string to lowercase.
Usage:
lower()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Display a message in lowercase
message = "VEXCODE"
controller.screen.print(message.lower())
# Output: vexcode
检查子字符串#
in#
in
is a keyword that checks if a word exists in a string.
# Display a message if "Hey" is in the string
message = "Hey everyone!"
if "Hey" in message:
controller.screen.print("Hello!")
startswith#
startswith
returns if a string starts with a specific word. This method returns a Boolean value:
True
- The word starts the string.False
- The word does not start the string.
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
returns if a string ends with a specific word. This method returns a Boolean value:
True
- The word ends the string.False
- The word does not end the string.
Usage:
startswith(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
moves text to a new line when printing.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t
inserts a tab space between words or numbers.
# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)