# форматирование чисел с плавающей точкой
val = 123456.123456
print("{}".format(val)) # распечатать число как есть - без указания формата
# 123456.123456
print("{:.2f}".format(val)) # показать только 2 знака после десятичной точки
# 123456.12
print("{:,.2f}".format(val)) # показать 2 знака после десятичной точки и разделить на группы по 3 цифры до дес. точки
# 123,456.12
print("{:e}".format(val)) # показать число в экспоненциальном представлении
# 1.234561e+05
from datetime import datetime as DT
d = DT.now()
print("Current timestamp: {:%d %B %Y %H:%M:%S.%f}".format(d))
# Current timestamp: 11 April 2020 15:24:44.279490
该方法
.format()返回一个字符串(str_{}我将尝试在评论中回答问题:
该方法的目的
str.format()是根据指定的格式对传递给它的参数进行格式化并返回字符串。此外,该方法
str.format()允许您稍后插入参数:“迷你格式化语言”的官方文档
例子:
此外,您可以格式化其他类型的字符串和对象:
您不能添加
str和int。像这样使用:
或像这样:
该函数通过使用字符串中指定的模式根据某些规则将其参数替换为字符串来
format格式化字符串。这不是加法,这是将函数参数替换到某个模板中,如果这样更清楚的话。是的,实际上里面有一个字符串连接,但不是那么原始。当然,在一般情况下,您可以使用以下形式的构造:
print('строка' + str(некая_численная переменная))但不建议这样做,据信模板中的替换比简单添加字符串效果更好。好吧,它更灵活 - 您可以指定要显示数字的小数位数等。
format不处理隐式转换 - 它调用a.__str__()不存在的方法调用a.__repr__()空规范{}