python - .. 用于 python 的 Dart 中的运算符
问题描述
Dart 中有..
一个操作符,它是一个快捷方式,我们可以在对象上应用一些函数,然后应用它返回相同的对象。
例子:-
这段代码:
obj = Object()
obj.apply()
可以写成:
obj = Object()..apply()
在一行中。
有没有办法在python中做到这一点?
解决方案
你可以定义一个包装函数:
class Foo:
def __init__(self):
self.x = 100
def bar(self):
# Do something to change the obect, e.g.:
self.x += 10
def _wraper(self, function, *args, **kwargs):
self.__getattribute__(function.__name__)(*args, **kwargs)
return self
foo = Foo()._wraper(Foo.bar)
print(foo.x) # Will print 110
推荐阅读
- c# - 空字符串项目异常的重复检查列表
- php - 如何定位键和值来替换数组中的字符
- python - 如何检查具有给定名称的变量是否是非本地的?
- javascript - 如何使用与其他 JSON 对象的一个公共属性来获取一个 JSON 的特定属性?
- rxjs - 在 `toArray` 之前发出动作 - Redux Observable
- angular - 如果选中复选框,则角度 5 使用其他字段值填充表单字段
- android - 某些流的 Google Cast 速度很慢
- angular - 如何解决真实设备中的 CORS 问题?
- python - 无法标记多行 sns.catplot()
- c++ - 完美转发复制的 std::tuple