一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現類似jQuery使用中的鏈式調用的示例

Python實現類似jQuery使用中的鏈式調用的示例

2020-08-27 12:12mattkang Python

chained calls鏈式調用其實多是指一種方法鏈的程序寫法,這里我們來看一下Python實現類似jQuery使用中的鏈式調用的示例,首先說明一下什么是鏈式調用:

關于jQuery的鏈式調用
真正有意義的鏈式調用也就是方法鏈(method chaining)。方法鏈這個詞是有的,而且使用的很廣泛。其實很多人口中的“鏈式調用”實際上就是指方法鏈。但是“鏈式調用”這個詞語還可以描述函數調用鏈,所以讓它自身的存在價值變得難以理解。
我總結的方法鏈的價值有這么幾個:
1. 讓調用過程更接近自然語言。
2. 把原本參數列表復雜的方法化作多個參數列表簡單的方法來使用。
3. 減少不必要的代碼量。
這個三點都是有益于開發的,所以方法鏈的存在很有意義。jQuery的很多東西就是使用了方法鏈的概念。
總之,如果“鏈式調用”這個詞還是盡量別用,因為無法從字面判斷含義。除非你想說明的是上面這個腦殘東西,你可以用“鏈式調用”去說,如果只是想描述方法鏈的概念,就直接說方法鏈就行了。

Python實現鏈式調用
用過jquery的一般都知道在jquery中可以鏈式調用,代碼簡潔優雅。比如$(“a”).addClass(“test”).show().html(“foo”);。
在redis-py中的pipeline中也可以鏈式調用,比如pipe.set('foo', 'bar').sadd('faz', 'baz').incr('auto_number').execute() 。
那么究竟怎么實現的呢?
很簡單,返回對象自己就行了,即return self.
廢話不多說,上代碼。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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()

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色综七七久久成人影 | 色欧美亚洲 | 日韩欧美不卡片 | 奇米影视在线视频 | gay台湾无套男同志可播放 | 亚洲国产成人久久77 | 好舒服好爽再快点视频 | 99久久精品免费看国产一区 | 97导航| 欧美精品亚洲精品日韩1818 | 午夜国产理论 | 亚洲精品国产乱码AV在线观看 | 欧美日韩成人在线视频 | 婷婷日日夜夜 | 精品女同一区二区三区免费站 | 99久在线| 亚洲高清在线视频 | 欧美三茎同入 | 韩国漂亮美女三级在线观看 | 亚洲国产在线视频精品 | 夫妇交换小说 | 999久久久免费精品国产牛牛 | 欧美在线欧美 | 日本人黄色 | 免费精品国产在线观看 | 亚洲精品国产在线网站 | 日本性爱 | 四川女人偷人真实视频 | 1986葫芦兄弟全集免费观看第十集 | 国产精品夜夜爽张柏芝 | 国产午夜免费秋霞影院 | 国产亚洲欧美日韩综合综合二区 | 精品牛牛影视久久精品 | 嫩模被黑人粗大挺进 | 色综合久久综合网欧美综合网 | 国产精品区一区二区免费 | 摸逼网 | luan小说| 成人精品在线 | 成人啪啪漫画羞羞漫画www网站 | 精品国产国产精2020久久日 |