python 知识点汇总

本文深入探讨Python编程中的一些关键知识点,包括自定义函数时默认参数的位置要求,逻辑判断的短路原则,以及字符串拼接时join()与'+ '的效率差异。通过理解这些细节,有助于提升编程技能和代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习python 过程中,很多用法,大家都知道可以这样用,不能那么用,但是很多时候,为啥么不能那么用,关心的人不多,知其所以然,对于学习是很有必要的,有助于我们加深理解。多了解总没有坏处的。

1.自定义函数时,有默认值的形参应放在无默认值的形参之后
在定义函数时,如果有默认值的形参放在无默认值的形参之前,在函数调用时,python依然会将带入函数的实参作为位置实参传递给第一个形参,这样,会导致无默认值的形参得不到实参传入。因此,有默认值的形参需要在无默认值的形参之后,否则将会有如下报错信息。
在这里插入图片描述

2.逻辑判断的短路原则

A and B
如果前面的条件为假,那么这个and前后两个条件组成的表达式一定为假,第二个条件不会被计算。

A or B
如果前面的条件为真,那么这个or前后两个条件组成的表达式一定为真,第二个条件不会被计算。

3.字符串拼接,用join() 还是 '+'
首先,直接用join() 和 +,都可以实现字符串的拼接,两者具体的用法如下:
在这里插入图片描述
然后,如果注重执行效率的话,特别是需要拼接量级较多的字符串时,两者的执行效率不可同日而语,甚至可以说是天壤之别。废话不多说,看下图:
在这里插入图片描述
从上面的代码中,可以看到Join()拼接字符串要比+快很多,特别是在十万次以上的循环中。
那是什么原因导致这种差别呢?我们知道,str类型为不可变对象,顾名思义,修改字符串就得将原字符串中的值复制,然后开辟一块新的内存,加上拼接的内容后,写入新的内存中,以达到“修改字符串”的效果。在使用‘+’进行拼接时,正是使用了重复性的复制、申请新内存、写入值到新内存的流程;而使用join()方法拼接字符串时,会先计算总共需要申请多少内存,然后一次性申请所需要内存,并将字符串复制过去,这样就省去了很多重复性的内存申请和写入,极大程度的节省了时间消耗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值