Python实现类似jQuery使用中的链式调用的示例

作者:mattkang 时间:2021-09-20 00:16:55 

关于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.
废话不多说,上代码。


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()
标签:Python,链式调用
0
投稿

猜你喜欢

  • 详解python字节码

    2021-12-16 16:56:29
  • Web 标准要求一览表

    2009-01-08 12:35:00
  • Python统计词频并绘制图片(附完整代码)

    2022-01-01 09:28:24
  • php的PDO事务处理机制实例分析

    2024-05-11 09:45:30
  • Dreamweaver定义本地站点

    2010-07-02 16:27:00
  • git 一个可以提高开发效率的命令:cherry-pick详解

    2022-03-03 01:40:22
  • Golang创建构造函数的方法超详细讲解

    2024-05-08 10:15:27
  • 什么是XML?

    2007-10-29 12:53:00
  • ubuntu 18.04搭建python环境(pycharm+anaconda)

    2023-09-23 20:01:56
  • 浅谈为什么#{}可以防止SQL注入

    2024-01-27 07:19:08
  • Vue项目的网络请求代理到封装步骤详解

    2024-04-30 10:23:55
  • 网页打开速度的心理学

    2009-03-26 13:18:00
  • 通过不同的CSS设计字体大小来提高用户体验

    2008-12-10 19:17:00
  • Go微服务网关的实现

    2023-07-02 22:27:05
  • pandas如何删除没有列名的列浅析

    2021-05-17 11:08:47
  • 微软SQLServer密码管理的危险判断

    2008-11-24 17:34:00
  • MySQL系列之三 基础篇

    2024-01-25 21:09:28
  • Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程

    2021-10-19 05:05:53
  • python enumerate函数的使用方法总结

    2022-07-06 05:37:10
  • 浅析Python中的for 循环

    2023-12-16 10:05:20
  • asp之家 网络编程 m.aspxhome.com