考虑以下代码:
class Foo:
def geta(self):
self.a = 'lie'
return 'this is {self.a}'.format(?)
我应该写什么而不是问号,以便正确格式化字符串?
答案 0 :(得分:11)
您可能正在寻找的是
'this is {0.a}'.format(self)
'this is {.a}'.format(self)
'this is {o.a}'.format(o=self)
'this is {self.a}'.format(self=self)
但请注意,您至少缺少班级中的某个方法。
直接在班级范围内,没有self
。
答案 1 :(得分:3)
括号内包含的引用是指一个数字,表示传递给format的参数的索引,或者是指向一个名为call的命名参数的名称。像那样:
class Foo:
def geta(self):
self.a = 'lie'
return 'this is {self.a}'.format(self=self)