Python中不常见的冷门知识有哪些

介绍

这篇文章主要介绍Python中不常见的冷门知识有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

下面时Python中一些不常见的冷门知识,感兴趣的小伙伴不妨来学习一下。

1,省略号也是对象

…这是省略号,在Python中,一切皆对象。它也不例外,在Python中,它叫做省略。在Python 3中你可以直接写…来得到这玩意。

祝辞祝辞祝辞…

省略号

祝辞祝辞祝辞类型(…)

& lt;类& # 39;省略# 39;在

而在Python2中没有…这个语法,只能直接写省略号来获取。

祝辞祝辞祝辞省略号

省略号

祝辞祝辞祝辞类型(省略)

& lt;类型& # 39;省略# 39;在

它转为布尔值时为真

祝辞祝辞祝辞bool (…)

真的

最后,这东西是一个单例。

祝辞祝辞祝辞id (…)

4362672336

祝辞祝辞祝辞id (…)

4362672336

这东西有啥用呢?据说它是Numpy的语法糖,不玩Numpy的人,可以说是没啥用的。

在网上只看到这个用…代替通过,稍微有点用,但又不是必须使用的。

:

,,1/0除了ZeroDivisionError:

,,…

2,增量赋值的性能更好

诸如+=和*=这些运算符,叫做增量赋值运算符。这里使用用+=举例,以下两种写法,在效果上是等价的。

#第一种

=1;+=1

#第二种

=1;=+ 1

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

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

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

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

3,和和的取值顺序

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

如果一个或表达式中所有值都为真,Python会选择第一个值,而和表达式则会选择第二个。

祝辞祝辞祝辞(2或3)*(5和7)

14,# 2 * 7

4,修改解释器提示符

祝辞祝辞祝辞进口sys ,,,,,,,,,,,

祝辞祝辞祝辞sys.ps1 ,,,,,,,,,,,,

& # 39;在祝辞祝辞& # 39;,,,,,,,,,,,,,,,,

祝辞祝辞祝辞sys.ps2 ,,,,,,,,,,,,

& # 39;…& # 39;,,,,,,,,,,,,,,,,

祝辞祝辞祝辞,,,,,,,,,,,,,,,,,

祝辞祝辞祝辞sys。ps2=& # 39; - - - - - - - - - - - - - - - - - & # 39;,,,,,,,,,

祝辞祝辞祝辞sys。ps1=& # 39; Python编程时光在祝辞祝辞& # 39;,,,,

Python编程时光在祝辞的在我的范围(2):,,,

- - - - - - - - - - - - - - - - -,,打印(我),,,,,,,,,,,

- - - - - - - - - - - - - - - - -,,,,,,,,,,,,,,,,,

5,默认参数最好不为可变对象

函数的参数分三种

可变参数

默认参数

关键字参数

今天要说的是,传递默认参数时,新手很容易踩雷的一个坑。

先来看一个示例:

def func(项目,item_list=[]):

,,item_list.append(项)

,,打印(item_list)

func (& # 39; iphone # 39;)

func(& # 39;小觅# 39;,item_list=[& # 39;朋友# 39;& # 39;体内# 39;])

func(& # 39;华为# 39;)

在这里,你可以暂停一下,思考一下会输出什么?

思考过后,你的答案是否和下面的一致呢

[& # 39; iphone # 39;]

[& # 39;朋友# 39;& # 39;体内# 39;,& # 39;小觅# 39;]

[& # 39; iphone # 39; & # 39;华为# 39;]

如果是,那你可以跳过这部分内容,如果不是,请接着往下看,这里来分析一下。

Python中的def语句在每次执行的时候都初始化一个函数对象,这个函数对象就是我们要调用的函数,可以把它当成一个一般的对象,只不过这个对象拥有一个可执行的方法和部分属性。

对于参数中提供了初始值的参数,由于Python中的函数参数传递的是对象,也可以认为是传地址,在第一次初始化def的时候,会先生成这个可变对象的内存地址,然后将这个默认参数item_list会与这个内存地址绑定。在后面的函数调用中,如果调用方指定了新的默认值,就会将原来的默认值覆盖。如果调用方没有指定新的默认值,那就会使用原来的默认值。

在这里插入图片描述

6日访问类中的私有方法

大家都知道,类中可供直接调用的方法,只有公有方法(受保护的类型的方法也可以,但是不建议)。也就是说,类的私有方法是无法直接调用的。

Python中不常见的冷门知识有哪些