盘点Python中的冷知识,重新燃起你对

北京有治疗白癜风专业医院 https://wapyyk.39.net/bj/zhuanke/89ac7.html

python作为一门高级语言,胶水语言,有很多的冷知识和黑魔法的,我们在日常开发中可能用的很少,但是在阅读别人的代码的时候,可能会一脸懵逼,不知所措,不绝对作者佩服的五体投地,我姑且叫这个是pythonhack吧,通常这些人对python的实现原理十分的了解,他们愿意花费大量的时间来阅读源码,翻阅官方文档,以及善于用搜索来扩展自己的知识储备。那么Python有哪些不为人知的特性呢?

Python省略号的用法

了解python的人一定知道,在python中一切皆对象,那么...这个歌省略号也不例外。在python2.*中,它叫Ellipsis,还不可以用...来表示,直到python3+才支持用省略号来表示。为什么用省略号呢?大概是写起来快吧。它是一个单例,所以使用id来查看的时候,无论我们用多少次它还是原来的那个id。

Python中省略号的特色

python有很多的重载运算符,用来解决两个实例之间的运算操作,加减乘除,增量操作等。如:__add__、__sub__、__div__、__mul__、__abs__等等。还有增量赋值运算符__iadd__、__isub__同理以此类推。dir(object)可以看到部分的重载方法,但是不够全,暂时可以先大致的了解一下,等我们需要的时候再去搜索翻阅文档。

重载运算

逻辑运算付and和or如何取值,面试的时候常考的题目,形如(2or3)*(6and10)这个计算方式,得到的结果会是2*10=20,为什么呢?or表达式中会取真,and会取后面的那个10。那么(2or3)*(6andFalse)呢,显然这个值是0。

这里简单地介绍了三种,其实还有很多的黑魔法有待我们发掘,后续补充。人生苦短,我用Python。




转载请注明:http://www.aierlanlan.com/cyrz/4607.html