python - 如何在类中的函数中使用追加和扩展而不在同一个类中明确定义它们?
问题描述
我可以在一个类中使用附加和扩展而不事先定义它们吗?
例子:
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
方法,因此对于您是否可以在没有定义它们的情况下调用它们的问题的简短回答是否定的。
如果你的类有一个 list 类型的成员(或具有附加和扩展功能的其他类型),那么你可以在该成员上调用 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(...)
否则,您的类需要先定义它们(显式地、通过继承或通过其他方式)
推荐阅读
- php - 如何从 Windows 中的 Open Server 获取 php 可执行路径?
- python - 如何通过 PYTHON 删除特定字符串之前的上一行的逗号
- matplotlib - 如何防止子图表拉伸?
- python - uWSGI worker 1 小时后无响应或执行停止
- java - JPA休眠,坚持3层
- node.js - 数组推送给出空结果节点js
- sql - 在表之间复制缺失的数据
- cart - 当从管理员端更新购物车总数更新订单时,将 woocommerce 中的总值向上舍入
- tensorflow - 如何从 Tensorflow 的对象检测模型动物园下载预训练模型?
- c# - 如何知道我的错误在哪里,在 C# 中使用 IsValid() 方法进行 Json Schema 验证