链式调用-python

class Person:
    def name(self, name):
        self.name = name
        return self
 
    def age(self, age):
        self.age = age
        return self
 
    def show(self):
        print "My name is", self.name, "and I am", self.age, "years old."
 
p = Person()
p.name("Li Lei").age(15).show()

 我是觉得这种东西更符合人类语言,举个更好理解的例子:
(1 + 2) * 3 - 4,一般的写法是:

Java code
 
subtract(multiply(add(1,2), 3), 4)

 

换一种写法:

Java code
 
add(1,2).multiply(3).subtract(4)

 


是不是第二种特别容易理解?

 

posted on 2020-04-05 11:49  jvincent  阅读(209)  评论(0编辑  收藏  举报