共计 1862 个字符,预计需要花费 5 分钟才能阅读完成。
在 Python 中,输出和输入格式化是一项重要的技能,它能够帮忙你更好地与用户进行交互,以及更无效地展现数据。本节将介绍如何应用字符串格式化、f-string 和其余办法来实现输出和输入格式化。咱们将通过实例代码具体解说每个知识点。
5.2.1 字符串格式化
Python 提供了几种办法来格式化字符串。以下是一些罕用的办法:
1. 应用 %
运算符
%
运算符用于格式化字符串,相似于 C 语言中的 printf()
函数。以下是一个示例:
name = "Alice"
age = 30
print("My name is %s and I am %d years old." % (name, age))
在这个示例中,咱们应用 %s
和 %d
作为占位符,别离示意字符串和整数。而后,咱们应用 %
运算符将 name
和 age
变量插入到字符串中。
2. 应用 str.format()
办法
str.format()
办法是一种更古代的字符串格式化办法。以下是一个示例:
name = "Alice"
age = 30
print("My name is {} and I am {} years old.".format(name, age))
在这个示例中,咱们应用 {}
作为占位符,并通过 format()
办法将 name
和 age
变量插入到字符串中。
5.2.2 应用 f-string
f-string(格式化字符串字面量)是 Python 3.6 及更高版本中引入的一种新的字符串格式化办法。它使得字符串格式化更加简洁和易读。以下是一个示例:
name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")
在这个示例中,咱们应用 {}
作为占位符,并将变量名称间接放入占位符中。这使得代码更加简洁和直观。
5.2.3 输出格式化
在 Python 中,咱们能够应用 input()
函数获取用户输出。input()
函数能够承受一个参数,用于显示提示信息。以下是一个示例:
name = input("Please enter your name:")
age = int(input("Please enter your age:"))
print(f"Your name is {name} and you are {age} years old.")
在这个示例中,咱们应用 input()
函数获取用户输出的姓名和年龄。请留神,input()
函数返回的是一个字符串,所以咱们须要应用 int()
函数将年龄转换为整数。
5.2.4 输入格式化
咱们能够应用下面介绍的字符串格式化办法来管制输入的格局。以下是一些罕用的格式化选项:
1. 设置宽度和对齐
咱们能够应用 :width
选项设置字段宽度。以下是一个应用 f-string 的示例:
x = 42
y = 3.1415926
print(f"x: {x:5} | y: {y:10.2f}")
在这个示例中,咱们设置了 x
字段的宽度为 5,y
字段的宽度为 10,以及 y
字段的小数位数为 2。
2. 数字格式化
咱们还能够应用 ,
选项将数字格式化为带有千位分隔符的字符串。以下是一个应用 f-string 的示例:
number = 1000000
print(f"Number with thousand separator: {number:,}")
在这个示例中,咱们应用 ,
选项将数字 1000000
格式化为带有千位分隔符的字符串 1,000,000
。
5.2.5 小结
咱们曾经介绍了 Python 中的输出和输入格式化,包含:
- 字符串格式化办法(
%
运算符、str.format()
办法和 f-string) - 输出格式化(应用
input()
函数获取用户输出) - 输入格式化(设置宽度和对齐,以及数字格式化)
以下是一些练习题,以帮忙你坚固所学的常识:
- 编写一个程序,提醒用户输出两个整数,而后计算它们的和、差、乘积和商,并以易读的格局输入后果。
- 编写一个程序,提醒用户输出他们的姓名、年龄和职业,而后以以下格局输入信息:
Name: [name]
Age: [age]
Job: [job]
- 编写一个程序,提醒用户输出一个浮点数,而后将其转换为百分比模式(保留两位小数),并以易读的格局输入后果。
请尝试本人编写这些程序,并在遇到问题时参考本节的内容。通过这些练习,你将更好地了解并把握 Python 的输出和输入格式化。
举荐浏览:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g