python 进阶知识点_Python知识点进阶——细节问题

int()强制转换浮点数

在int()的强制转换浮点数时候,不管是正数还是负数,只取整数部分。

注意:这里不是向上或者向下取整,也不是四舍五入。

无限递归

递归是为了将问题简化为更小规模的同类型问题,最后加以解决。

但是有一种情况是递归时不断调用自身,达到不了最简单的情况,所以一直找不到递归的出口

当我们运行调用这个函数时,系统抛出异常,意思是达到了最大的递归深度。

字符串是不可变的

字符串和元组是不可变的数据类型,那字符串的不可变性体现在哪儿呢?

结果抛出异常,提示不让我修改,体现了字符串的不可变性,如果执意修改,可以这样:

联合使用字符串的切片和拼接可完成。

一些遗漏的字符串方法

upper()和lower()方法

upper():能将一个字符串的字母全变成大写,lower()与之相反。

find():可以在字符串中查找子串是否存在。

如果找到,返回的是子串的起始索引位置,例如Hello是从字符串索引0位置开始,空格是在索引5位置,当找不到子串时,返回-1,而不是抛出异常。

还可以限定查找开始的索引位置:

空格的索引是5,当我们从索引3开始往后找,能找到空格;当我们从索引7开始找,则返回没找到,因为索引7已经在索引5之后了。

字符串快速转换为列表的方法

split方法中默认是空格,所以有以上两种写法。

字典中按照键的顺序输出

字典有三大特性其中有一个就是无序性。

如果想要按照key的字母顺序打印,则可

通过value找到key

自定义一个reverse——lookup的函数,传入两个参数,第一个是要查询的字典,第二个是要查的值。

然后循环字典,将键对应的值分别和要查找的值比较,当出现一样的时候就返回。

当如果查找不到时,应该返回找不到,可以使用raise关键字:它可以抛出异常。

当找到对应的key,直接运行return,当没有找到时,最后会抛出设定的Lookup

可变长元组参数

*开头的收集到的是元组参数,既然有收集,可会有分散,例子

divmod函数是一个求商和余数的函数,这里返回了4和1。

如果我们一步到位,发现系统抛出了异常,需要两个参数,只给了一个。

此时需要尝试分散,也就是今天介绍的内从。

我们在传入的元组前加了一个 * 号,即可将元祖拆开,此时返回正常了。

序列合体

将序列(字符串,列表,元组)相互合并的操作

zip()函数接收两个或者多个序列,返回一个元组列表,每个元组包含来自每个序列中的一个元素

返回的结果是一个zip对象,可以简单的认为是一个压缩包。

当我们要获取查看它的元素,可以使用循环变量,如果想将结果放在一个list中,可以这样:

当然还可以将字符串和列表合并:

甚至多个序列合并:

zip()函数的出现为我们创建字典提供了新方法:

文件名和路径

返回当前目录:

返回当前目录的好处:

1.方便构造文件操作路径

2.提醒我们当前在什么路径

检查该目录下是否存在某个文件:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值