首页 > 解决方案 > 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()))
  1. 为什么:前面有一个%Yin print("It's now: {:%Y/%m/%d...?代码输出, 2021前面It's now: 2021没有。:
  2. 为什么:前面有一个agein print("Adam's age is: {:age}...

提前感谢您的宝贵意见!!

标签: pythonstringformatting

解决方案


之后的所有内容都是相应:参数__format__()的类的方法的参数。例如,对于一个数字,您可以将{:.2f}其格式化为小数点后两位精度的十进制数。

对于一个datetime值,它是一个可以与datetime.strftime().

在您的Person课程中,它将作为format参数传递给Person.__format__(). 因此,如果您不放在:age那里,则if条件将失败,它将打印None而不是23.


推荐阅读