![](/img/trans.png)
[英]How do you call a method both “inside” and “outside” an instance in 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.