Python的冷知识

发布时间:2025-05-24 17:40:17 作者:益华网络 来源:undefined 浏览量(0) 点赞(0)
摘要:之前看到一个文章,讲的是一些关于Python的冷知识,有兴趣的可以看一下哟~ 省略号也是对象 在Python中,一切皆对象,...也不例外。在Python3中...叫做Ellipsis。 >>> type(...)<classellipsis>

之前看到一个文章,讲的是一些关于Python的冷知识,有兴趣的可以看一下哟~

省略号也是对象

在Python中,一切皆对象,...也不例外。在Python3中...叫做Ellipsis。

>>> type(...)<classellipsis>

而在python2中没有…这个语法。只能直接使用Ellipsis来获取:

>>> type(Ellipsis)<classellipsis>

它转为布尔值时为真:

>>>bool(...)True

那么这个...到底有什么用呢,据说它是Numpy的语法糖,不使用Numpy的人可以说是没什么用了。

或者你可以使用 … 代替 pass ,如: def test():pass# 可以替换成def test():...

类首字母不一定是大写

在正常情况下,我们所编写的所见到的代码,好像都默许了类名首字母大写,而实例用小写的这一准则。但这并不是强制性的,即使你反过来的也没有关系。

但有一些内置的类,首字母都是小写,而实例都是大写。

比如 bool 是类名,而 True,False 是其实例;

比如 ellipsis 是类名,Ellipsis是实例;

还有 int,string,float,list,tuple,dict 等一系列数据类型都是类名,它们都是小写。

增量赋值的性能更好

诸如 += 和 *= 这些运算符,叫做增量赋值运算符。

这里使用用 += 举例,以下两种写法,在效果上是等价的。

# 第一种a =1; a +=1# 第二种a =1; a = a +1

+= 其背后使用的魔法方法是 __iadd__,如果没有实现这个方法则会退而求其次,使用 __add__ 。

这两种写法有什么区别呢?

用列表举例 a += b,使用 __iadd__ 的话就像是使用了a.extend(b),如果使用 __add__ 的话,则是 a = a+b,前者是直接在原列表上进行扩展,而后者是先从原列表中取出值,在一个新的列表中进行扩展,然后再将新的列表对象返回给变量,显然后者的消耗要大些。

所以在能使用增量赋值的时候尽量使用它。

and 和 or 的取值顺序

and 和 or 是我们再熟悉不过的两个逻辑运算符。而我们通常只用它来做判断,很少用它来取值。

如果一个or表达式中所有值都为真,Python会选择第一个值,而and表达式则会选择第二个。 >>>(1or10)*(2and5)5# 1*5

如何修改解释器提示符

正常情况下,我们在终端下执行Python 命令是这样的。

>>>for i in range(3):...print(i)...012

其实 >>> 和 ... 这两个提示符也是可以修改:

>>>import sys >>> sys.ps1 >>> >>> sys.ps2 ... >>>>>> sys.ps2 =................>>> sys.ps1 =aaa>>>aaa>>>for i in range(3):................print(i)................012

参考:https://www.cnblogs.com/wongbingming/p/9393186.html

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!