字符串格式化#

介绍#

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.

字符串方法——更改文本的大小写。

  • upper – Converts all characters to uppercase.

  • lower – Converts all characters to lowercase.

子字符串检查——测试文本的存在或位置。

  • 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.

转义序列——使用特殊字符格式化输出。

  • \n – Adds a line break (new line).

  • \t – Adds a tab space between items.

在 f 字符串中格式化数字#

f 字符串允许使用以下格式说明符精确控制小数位、舍入、千位分隔符等:

Fixed Decimal Places#

.xf controls how many decimal places a number is displayed with.

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 rounds numbers outside of an f-string or inside of the {}.

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#

, 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%

参数

描述

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)

参数

描述

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)

参数

描述

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)