Python实现类似jQuery使用中的链式调用的示例
作者:mattkang 发布时间:2021-09-20 00:16:55
标签:Python,链式调用
关于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()


猜你喜欢
- 标量标量由普通小写字母表示(例如,x、y和z)。我们用 R \mathbb{R} R表示所有(连续)实数标量的空间。标量由只有一个元素的张量
- 提高MySQL 查询效率的三个技巧小结MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发
- 因为最近接触到调用新浪微博开放接口的项目,所以就想试试用python调用微博API。SDK下载地址:http://open.weibo.co
- 如何使用数据绑定控件实现不换页提交数据?Chunfeng.html' 提交页面< html><
- 负责为网页编程语言提供标准化服务的W3C组织(World Wide Web Consortium)近日开始修改超文本标记语言的定义,计划为该
- 一、前言html和css的学习大致完成,我们进入重要的JavaScript学习阶段二、什么是JavaScript,有什么用?Javascri
- 本文实例讲述了Python函数基础用法。分享给大家供大家参考,具体如下:一、什么是命名关键字参数?格式: 在*后面参数都是命名关键字参数。特
- 新建yaml文件在上文我们的 go学习笔记:使用 consul 做服务发现和配置共享 这里我们单独来用viper实现读取consu
- 一、Django密码存储和加密方式#算法+迭代+盐+加密<algorithm>$<iterations>$<s
- Python文字转语音(调研&成品函数)由于项目需要, 我需要将文字转换为语音, 那么第一步就要进行调研什么是语音合成技术?语音合成
- 多态问起面向对象的三大特性,几乎每个人都能对答如流:封装、继承、多态。今天我们就要来说一说 Python 中的多态。所谓多态:就是指一个类实
- 问题描述有时候,产品让我们做的表格,会有合并列的功能,但是官方的demo略有不清晰,本文举个例子简述之。我们先看下效果图:假设产品的需求是这
- 本文实例为大家分享了微信小程序实现简单计算器与秒表的具体代码,供大家参考,具体内容如下实验内容:任务一:实现一个简单的加减乘除运算。首先输入
- Python操作Excel之openpyxlopenpyxl是一个Python库,用来读写Excel2010 xlsx/xlsm/xltx/
- 目录1. 单变量 :=2. 多变量 :=3. 小结:=??Go 语言中 = 和 := 有什么区别1. 单变量 :=Go 语言中新增了一个特殊
- 适合的读者:有经验的开发员,专业前端人员。 原作者: Dmitry A. Soshnikov 发布时间: 2010-09-02 原文:htt
- Linux sort命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。在 Linux、BSD 或 Mac 的终
- <?php /** * 单例模式 * * 保证一个类仅有一个实例,并提供一个访问它的全局访问点 * */ class Singleto
- Phar是什么在百度中得到介绍是这样的:在软件中,PHAR(PHP归档)文件是一种打包格式,通过将许多PHP代码文件和其他资源(例如图像,样
- 前两天,班上同学写论文,需要将很多篇论文题目按照中文的习惯分词并统计每个词出现的频率。让我帮她实现这个功能,我在网上查了之后发现jieba这