0
点赞
收藏
分享

微信扫一扫

Python - 链式调用 - Black 代码格式化工具 -

目录

测试环境:

Windows 10
python 3.7.2
工具: Pycharm

链式调用

在学习某一个新的模块时,看到了链式调用这一操作,查找了一下资料,还真是像钟馗的钩一样,一条锁链钩五杀(开玩笑呢,不过真有这种大佬吗?)。

言归正传,链式,本质上回传的是一个对象化实例,这有点像装饰器啊!装饰器回传的是函数对象,但其实都一样的,函数是对象,类对象也是对象,没差。

正常调用函数,也就是单独调用函数,代码演示如下:

chain = Master()
chain.slaver1("001")
chain.slaver2("002")
.
.
.
chain.xxx("xxx")

链式调用代码演示如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# author:沐修
# content:链式调用
 
class  Master:
    def __init__(self):
        self.name = ""
 
    def slaver1(self,name):
        self.name = name
        print("名字是 %s" % name)
        return self
    def slaver2(self,name):
        self.name = name
        print("名字是 %s" % name)
        return self
    def slaver3(self,name):
        self.name = name
        print("名字是 %s" % name)
        return self
 
Master().slaver1("001").slaver2("002").slaver3("003")

运行结果:
在这里插入图片描述
我们在定义类方法的时候,总会写的的第一个参数self了。几乎每个类方法里面都会有它。大家只知道在类里面调用类方法的时候可以用self.xxx(),在调用类属性的时候可以用self.yy,那么有没有思考过,这个东西如果单独使用会怎么样呢?

实际上,self指的就是这个类实例化成一个对象以后,这个对象自身。而这个对象显然是有包含了类拥有的方法。返回来的自然还是原来的对象 Master()

print("test1 "
      ,"test2")

在这里已经完全不需要反斜杠\,来转义,等同于这一块代码都是一个整体,不会被分割。

所以圆括号的有趣之处,还是要记一下,方便以后能看懂,不要到时看懵了。

还有这里只是看到用Black格式化工具格式化后代码,所产生的问题,并详细介绍Black格式化工具,具体看链接,后续我可能会去尝试。

参考链接:

python链式调用

用Python实现链式调用

python 括号 中 不需要 反斜杠_如何消除反斜杠后的空白(Python3.4)

python - black介绍

举报

相关推荐

0 条评论