我可以在没有事先定义它们的情况下使用追加和扩展类吗?
示例:
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
不仅会以某种方式自动具有append
和extend
方法,因此对于是否可以在不定义它们的情况下调用它们的问题的简短答案是没有。
如果您的类具有类型列表的成员(或具有附加和扩展功能的其他类型的成员,则可以在该成员上调用附加和扩展。
例如,如果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(...)
否则,您的类需要先定义它们(显式,通过继承或其他方式)