在字符串格式中调用类方法
考虑一下:
from datetime import datetime
now = datetime.now()
now.strftime("%p") # returns 'PM'
'{0.day}'.format(now) # returns 22
'{0.strftime("%p")}'.format(now)
# gives
# AttributeError: 'datetime.datetime' object has no attribute 'strftime("%p")'
这似乎意味着我不能在格式中调用类方法(我猜strftime就是这样)。
对此有什么解决方法(假设我需要在字符串中调用方法,并继续使用格式)?
回答
你可以这样做。
>>> from datetime import datetime
>>> now = datetime.now()
>>> '{0:%p}'.format(now)
'PM'
这也适用于f-strings。
>>> f"{now:%p}"
'PM'