在字符串格式内调用类方法

2024-05-01 22:29:43 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑如下:

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

有什么解决方法(假设我需要在字符串中调用方法,并继续使用格式)


Tags: 方法fromimportformatdatetimeobject格式now
3条回答

您可以像这样使用f字符串:

from datetime import datetime

now = datetime.now() 
now.strftime("%p")
print(f'{now.day}')

print(f'{now.strftime("%p")}')

您可以使用f字符串:

from datetime import datetime

now = datetime.now() 
now.strftime("%p") # returns 'PM'
'{0.day}'.format(now) # returns 22

print(f'{now.strftime("%p")}')

其他:

from datetime import datetime

now = datetime.now() 
now.strftime("%p") # returns 'PM'
'{0.day}'.format(now) # returns 22
print('{0:%p}'.format(now)) 

文档

你可以这样做

>>> from datetime import datetime
>>> now = datetime.now()
>>> '{0:%p}'.format(now)
'PM'

这也适用于f-字符串

>>> f"{now:%p}"
'PM'

相关问题 更多 >