模块课程(4/4)
打印和 f 字符串
向用户传达某些信息(或查看内部发生了什么
我们的程序)我们使用内置的 print(...) 函数。作曲
来自多个值的文本,现代且首选的语法是
f 字符串。
print(...)
print("Ciao, mondo!") # Ciao, mondo!
print("a", "b", "c") # a b c (separati da spazio)
print(2 + 2) # 4
print("riga 1", "riga 2") # riga 1 riga 2print 可以接受任意数量的参数:它将它们用空格连接起来(通过
默认)并在末尾添加换行符。您可以使用以下命令更改两者
sep 和 end 参数:
print("a", "b", "c", sep="-") # a-b-c
print("senza newline", end="") # niente \n dopof-string:现代插值
f-string 是以 f 为前缀的字符串:在大括号 {...} 内
您可以插入任何 Python 表达式,该表达式将被计算并插入到
结果:
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.在大括号内你可以放置调用、操作、对象访问——它是 各方面的Python代码:
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €冒号后面的 :.2f 是一个 格式规范:在本例中“两位小数
数字,定点”。最有用的格式规范:
:.Nf— N 个十进制数字 (f"{pi:.4f}"→3.1416)。:N/:>N/:<N/:^N— 宽度 N,右/左/中心对齐。:_或:,— 千位分隔符 (f"{1000000:,}"→1,000,000)。
替代语法(供参考)
在 f 字符串(Python 3.6 中引入)之前,使用了两种形式: 您仍然会在旧代码中遇到:
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)
# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)对于新代码,始终使用 f-string:更短、更易读、更快。
使用 f 字符串进行高级格式化
F 字符串直接在花括号内支持丰富的格式规范。例如,要格式化精确到小数点后两位的十进制数,您可以编写:
price = 19.99
print(f"Price: {price:.2f} $"):.2f 说明符指示我们想要表示精确到小数点后两位的浮点数。
自己尝试一下
给定“name = 'Ada'”和“age = 30”,用 f 字符串构建字符串“Ada ha 30 anni”并将其分配给“line”。评估“线”。
显示提示
语法:f“某事{变量}某事其他”
3 次尝试后可用的解决方案
复习练习
使用 print() 打印从“pi = 3.14159”开始的字符串“pi greco vale 3.14”,使用格式规范为 2 位小数的 f 字符串。
显示提示
格式规范位于大括号内的冒号后面:{pi:.2f}。
3 次尝试后可用的解决方案
额外的挑战
Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.
显示提示
使用 f"Price: {price} €" 并将结果分配给receipt_line。
3 次尝试后可用的解决方案