首页 > 解决方案 > .. 用于 python 的 Dart 中的运算符

问题描述

Dart 中有..一个操作符,它是一个快捷方式,我们可以在对象上应用一些函数,然后应用它返回相同的对象。

例子:-

这段代码:

obj = Object() obj.apply()

可以写成:

obj = Object()..apply()

在一行中。

有没有办法在python中做到这一点?

标签: 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

推荐阅读