如何在类中的函数中使用追加和扩展而不在同一类中显式定义它们?



我可以在类中使用追加和扩展而不事先定义它们吗?

例:

class Blabla():
def append(self, x):
self.row += [x]
def extend(self, row):
for i in row:
self.row += [i]
def combine(self, rows):
row_1 = Blabla([])
[...]
row_1.append(self.row[i])

你的类Blabla不会以某种方式自动appendextend方法,所以对于你是否可以在不定义它们的情况下调用它们的问题,简短的回答是否定的。

如果您的类具有 list 类型的成员(或具有追加和扩展函数的其他类型的成员(,则可以在该成员上调用 append 和 expand。

例如,如果Blabla.row成员是列表类型,则执行以下操作将是合法的......

...
row_1.row.append(...)
row_1.row.extend(...)
...
# or in one of the classes methods...
def foo(self, ...):
self.row.append(...)
self.row.extend(...)

否则,您的类需要首先定义它们(显式、通过继承或其他方式(

相关内容

最新更新