通过将其附加到python对象中来调用方法n次
假设我有一个python类 sum()
带有方法 add()
,可以获取用于操纵的数字列表,例如,
sum = Sum()
sum.add([5, 8, 2])
我想改用。通过“附加”在每个列表项目上添加
方法。我该如何实现?
sum.add(5).add(8).add(2)
为了清楚起见,我在 keras> keras
model = tf.keras.Sequential([
hub_layer,
tf.keras.layers.Dense(16, activation='relu'),
tf.keras.layers.Dense(1)
])
也可以是,这也可以是表示为
model = tf.keras.Sequential()
model.add(hub_layer)
model.add(tf.keras.layers.Dense(16, activation='relu'))
model.add(tf.keras.layers.Dense(1))
,我想实现上述方案的第二个
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在您的添加函数中,只需返回对象本身,
这是有效的,因为下一个.ADD将在上一个.ADD的返回元素(又称对象本身)的返回元素上执行
。
in your add function, simply return object itself
this works because the next .add is going to be executed on the returned element of the previous .add (aka the object itself)
hope it helps :)
您可以在
sum
对象上调用方法添加
。让我们分解行add(5)
应用于sum
对象<代码> sum 。add(8)
也必须应用于sum
对象,因此sum.add(5)
必须返回sum /代码>对象。
通常,
添加
方法必须返回sum
对象You can call the method
add
onSum
objects. Let's decompose the lineadd(5)
is applied to theSum
objectsum
.add(8)
must be applied to aSum
object as well, sosum.add(5)
must return aSum
object as well.In general the
add
method must return aSum
object为了链接方法,您需要返回对象实例的方法(aka
self
)。您可以找到一些其他信息在这里。如果您对象
sum
有一个方法add
,则可以编写sum.add(x)
。但是,您无法在任何内容上调用添加
,只能在此类sum
的实例上调用它。因此,如果您想执行sum.add(x).add(y)
,则需要sum.add(x)
是sum /code>,因此
add
方法应返回sum
实例。如果要修改对象本身(而不是创建另一个),则需要添加
才能返回self
。For being able to chain methods, you need the method to return the instance of the object (aka
self
). You can find some additional information here.If you object
sum
has a methodadd
, then you can writesum.add(x)
. However, you can't calladd
on anything, you can only call it on instances of this classSum
. So if you want to dosum.add(x).add(y)
, you need thatsum.add(x)
is an instance ofSum
, so theadd
method should return aSum
instance. If you want the object itself to be modified (and not create another one), you needadd
to returnself
.您需要让
add()
方法返回sum
对象发生。这是一个最小的例子。 (我将类<代码> A命名为,因为
sum
是一个python函数,最好不要混淆两者。)输出:
You need to have the
add()
method returning aSum
object for this to occur.Here is a minimal example. (I named the class
A
becausesum
is a Python function and it is better not to confuse the two. )Output: