繁体   English   中英

如何在 python 中的字符串内对要格式化的项目调用方法?

[英]How to call a method on an item that you're formatting inside a string in python?

'aBcDe'.lower()工作正常并返回'abcde'

那么为什么我不能这样做: '{0.lower()}'.format('aBcDe')

它返回以下错误: AttributeError: 'str' object has no attribute 'lower()'

我的猜测是代码发现该属性是整个字符串'lower()'而不是'lower'并且它不起作用。 那么如何以这种方式调用方法呢?

你是对的; Python 认为.lower()是字符串'aBcDe'的一个属性。 您可以通过将对 .lower() 的调用移动到.lower() .format()参数来解决此问题:

'{0}'.format('aBcDe'.lower())

使用format方法,您不能将要计算的内容放在花括号内。 这里有两个(解决这个问题的几种方法):

'{0}'.format('aBcDe'.lower())

或使用 f 弦:

f"{'aBcDe'.lower()}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM