python - Python字符串格式化中的冒号是什么意思?
问题描述
我正在学习 Python 字符串format()
方法。虽然我知道这{}
是参数的占位符,但我不确定以下来自Programiz 教程:
的代码片段代表什么:
import datetime
# datetime formatting
date = datetime.datetime.now()
print("It's now: {:%Y/%m/%d %H:%M:%S}".format(date))
# custom __format__() method
class Person:
def __format__(self, format):
if(format == 'age'):
return '23'
return 'None'
print("Adam's age is: {:age}".format(Person()))
- 为什么
:
前面有一个%Y
inprint("It's now: {:%Y/%m/%d...
?代码输出, 2021前面It's now: 2021
没有。:
- 为什么
:
前面有一个age
inprint("Adam's age is: {:age}...
?
提前感谢您的宝贵意见!!
解决方案
之后的所有内容都是相应:
参数__format__()
的类的方法的参数。例如,对于一个数字,您可以将{:.2f}
其格式化为小数点后两位精度的十进制数。
对于一个datetime
值,它是一个可以与datetime.strftime()
.
在您的Person
课程中,它将作为format
参数传递给Person.__format__()
. 因此,如果您不放在:age
那里,则if
条件将失败,它将打印None
而不是23
.
推荐阅读
- excel - 如何根据excel中的另一个单元格值限制单元格中的值输入/输入?
- javascript - Javascript:获取文本并切断
- django - 以编程方式将记录添加到数据库后,Django 更新索引
- python - 为什么当我使用 SQAlchemy 查询一些数据然后更改服务器中的路由时会使其变慢?
- sql - Postgres 相当于 ANY ... 在 n1ql 中满足结合 ANY 和 IN
- java - 为什么 RecordComponent 没有在 Java 17 的 Records 类中定义的注释信息?
- javascript - 阻止导入到 ES 模块中的 CommonJS 模块执行代码
- vue.js - 我在带有缓存加载器的 vue js 项目中的 firebase 有问题
- javascript - 如何在 Javascript 中通过提示询问在对象内添加元素?
- c++ - 如何从 C++ 中“cin”值的字符串中删除空格