Python實現(xiàn)類似jQuery使用中的鏈式調(diào)用的示例
關(guān)于jQuery的鏈式調(diào)用
真正有意義的鏈式調(diào)用也就是方法鏈(method chaining)。方法鏈這個詞是有的,而且使用的很廣泛。其實很多人口中的“鏈式調(diào)用”實際上就是指方法鏈。但是“鏈式調(diào)用”這個詞語還可以描述函數(shù)調(diào)用鏈,所以讓它自身的存在價值變得難以理解。
我總結(jié)的方法鏈的價值有這么幾個:
1. 讓調(diào)用過程更接近自然語言。
2. 把原本參數(shù)列表復(fù)雜的方法化作多個參數(shù)列表簡單的方法來使用。
3. 減少不必要的代碼量。
這個三點都是有益于開發(fā)的,所以方法鏈的存在很有意義。jQuery的很多東西就是使用了方法鏈的概念。
總之,如果“鏈式調(diào)用”這個詞還是盡量別用,因為無法從字面判斷含義。除非你想說明的是上面這個腦殘東西,你可以用“鏈式調(diào)用”去說,如果只是想描述方法鏈的概念,就直接說方法鏈就行了。
Python實現(xiàn)鏈式調(diào)用
用過jquery的一般都知道在jquery中可以鏈式調(diào)用,代碼簡潔優(yōu)雅。比如$(“a”).addClass(“test”).show().html(“foo”);。
在redis-py中的pipeline中也可以鏈式調(diào)用,比如pipe.set('foo', 'bar').sadd('faz', 'baz').incr('auto_number').execute() 。
那么究竟怎么實現(xiàn)的呢?
很簡單,返回對象自己就行了,即return self.
廢話不多說,上代碼。
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()
相關(guān)文章
python字符串和常用數(shù)據(jù)結(jié)構(gòu)知識總結(jié)
在本文中我們系統(tǒng)的給大家整理了關(guān)于python字符串和常用數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識點以及實例代碼,需要的朋友們學(xué)習下。2019-05-05解決TensorFlow調(diào)用Keras庫函數(shù)存在的問題
這篇文章主要介紹了解決TensorFlow調(diào)用Keras庫函數(shù)存在的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07Python 獲取指定文件夾下的目錄和文件的實現(xiàn)
這篇文章主要介紹了Python 獲取指定文件夾下的目錄和文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2019-08-08Python函數(shù)中apply、map、applymap的區(qū)別
這篇文章主要介紹了 Python函數(shù)中apply、map、applymap的區(qū)別 ,文章圍繞 Python函數(shù)中apply、map、applymap的相關(guān)資料展開詳細內(nèi)容,需要的朋友可以參考一下2021-11-11在PyCharm中找不到Conda創(chuàng)建的環(huán)境的解決方法
本文主要介紹了在PyCharm中找不到Conda創(chuàng)建的環(huán)境的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2023-07-07