遇到你,Be Pythonic!(中)

好了,该续集了,接上一篇文章,由冗长的嵌套如何实现Pythonic的形象简洁的代码?

RidingRoad回家老婆孩子热炕头原来的路径

RidingRoad现在的Pythonic的路径

先上代码

真的可以?看效果

是不是很多疑问?

问题1:函数调用不用括号?

问题2:为什么函数定义里没用到参数还需要传个other参数进去?

先回顾一下>>和ection>

详细例子可以看回上一篇

无论是左移还是右移,命令都从左到右开始。第一个组合的输出将用作下一个操作的左操作符;

括号按照预期改变了操作顺序

__rshift__和__lshift__操作仅在实现它的类上调用

如果其中一个类没有实现__rshift__和__lshift__,则调用__rrshift__或__rlshift__操作,自己作为self

问题1解答

函数调用肯定是需要加括号的

这里得以实现不用加括号的原因,是因为调用了rrshift

为什么会调用rrshift

问题2解答

再看看规律的第一点的最后一句:

第一个组合的输出将用作下一个操作的左操作符

意思即是:

为什么不带参数?下一集继续呗

下一集就高级一点了,实现带参数的传递下去

剧透一下下,需要匿名函数哦

Python全面学习资料

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181105A1Y2FU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券