一、f-string
f""
是一种称为 f-string(格式化字符串字面值)的字符串格式化方式,它是在 Python 3.6 中引入的。使用 f-string,您可以直接在字符串中插入变量和表达式,并以一种更简洁的方式进行字符串格式化。以下是一些示例:
1.1 插入变量
name = "Alice"
age = 25
# 使用 f-string 插入变量
message = f"My name is {name}, and I am {age} years old."
print(message)
输出:My name is Alice, and I am 25 years old.
1.2 插入表达式
radius = 5.0
# 使用 f-string 插入表达式
area = f"The area of the circle with radius {radius} is {3.14 * radius ** 2}"
print(area)
输出:The area of the circle with radius 5.0 is 78.5
在这个示例中,我们可以直接在 f-string 中使用变量radius
和执行表达式3.14 * radius ** 2
。
1.3 使用格式化选项
1.3.1 小数位数控制
使用:.nf
格式化选项,其中n
是希望保留的小数位数。例如:
num = 3.1415926
formatted_num = f"Formatted number: {num:.2f}"
print(formatted_num)
输出:Formatted number: 3.14
在这个示例中,数字num
被格式化为保留两位小数。
1.3.2 千位分隔符
使用,
格式化选项,可以添加千位分隔符来提高数字的可读性。例如:
num = 1234567
formatted_num = f"Formatted number: {num:,}"
print(formatted_num)
输出:Formatted number: 1,234,567
在这个示例中,数字num
被格式化为带有千位分隔符的形式。
1.3.3 数字填充
使用0
或其他字符作为填充字符,可以在数字前面填充指定的字符。例如:
num = 42
formatted_num = f"Formatted number: {num:05}"
print(formatted_num)
输出:Formatted number: 00042
在这个示例中,数字num
被格式化为显示为5位数,并在前面填充0。
1.3.4 符号显示
使用+
或-
符号选项,可以显示数字的正负符号。例如:
num = 42
formatted_num = f"Formatted number: {num:+}"
print(formatted_num)
输出:Formatted number: +42
在这个示例中,数字num
被格式化为显示带有+
的形式。
二、print()的结束控制符
print()
函数是一个常用的内置函数,用于在控制台或命令行中输出文本。在 Python 中,print()
函数可以使用不同的结束控制符来控制输出的行为。下面是一些常见的结束控制符:
2.1 默认结束符
print()
函数默认使用换行符\n
作为结束符,即在输出文本后会自动换行。
print("Hello")
print("World")
输出:Hello
World
2.2 修改结束符
可以使用end
参数来修改print()
函数的结束符。通过设置end
参数为一个字符串,可以指定输出文本之后的字符。
print("Hello", end=" ")
print("World", end="!")
输出:Hello World!
在这个示例中,我们将end
参数设置为空格和感叹号,分别用于输出 “Hello” 和 “World” 之间的间隔和最后的结束符。
2.3 禁用结束符
如果您希望 print()
函数在输出文本后不添加任何结束符,您可以将 end
参数设置为空字符串。
print("Hello", end="")
print("World")
输出:HelloWorld
在这个示例中,我们将 end
参数设置为空字符串,以便在输出 “Hello” 后不添加任何结束符。
三、input()
input()
是一个内置函数,用于从用户那里获取输入。它允许程序在运行时与用户进行交互,并接收用户输入的值。下面是一些常见的input()
函数的用法和特性:
3.1 基本用法
input()
函数会在程序执行到该行时暂停,并等待用户输入。用户可以在控制台或命令行中输入一个值,然后按下回车键确认输入。input()
函数将返回用户输入的值作为字符串。
name = input("Enter your name: ")
print("Hello, " + name)
在这个示例中,input("Enter your name: ")
会提示用户输入名字,并将用户输入的值赋给name
变量。然后,程序会使用 name
变量打印出问候语。
3.2 类型转换
input()
函数返回的是一个字符串,如果需要将其转换为其他类型,可以使用相应的类型转换函数(如 int()
、float()
等)。
age = input("Enter your age: ")
age = int(age) # 将字符串转换为整数
在这个示例中,age
变量首先是一个字符串,然后使用 int()
函数将其转换为整数。
3.3 输入用于循环控制条件(海象运算符)
例如:
while (sales := float(input("Enter sales: $"))) >= 0:
if sales < 1000:
print(f"Bonus: {0.1 * sales:.2f}")
elif sales >= 1000:
print(f"Bonus: {0.15 * sales:.2f}")
print("You have entered a negative number!")
使用了Python 3.8+中的海象运算符:=
,它允许我们在表达式中同时进行赋值和比较。
3.4 多行输入
在某些情况下,您可能希望用户能够输入多行的信息。可以在循环中使用 input()
函数来实现这一点。
lines = []
print("Enter lines of text (enter 'done' to finish):")
while True:
line = input()
if line == "done":
break
lines.append(line)
在这个示例中,用户可以输入多行文本,直到输入"done"为止。每一行输入都将被添加到lines
列表中。