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.提醒我们当前在什么路径

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

Python知识点进阶——细节问题的更多相关文章

  1. Python知识点进阶——生成器

    生成器 为什么要将列表转化为迭代器? 因为列表太大的话用内存太大,做成迭代器可以节省空间,用的时候再拿出部分. 生成器是不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,知 ...

  2. Python知识点进阶——迭代器

    可迭代对象 可迭代对象可以简单的理解为用for循环遍历的,如list.tuple.dict.set.str 判断一个对象是否是迭代器: 可以将数据类型 和 是否为可迭代对象 比较来判断是否是可以迭代 ...

  3. 学习python须知,Python基础进阶需掌握哪些知识点?

    Python基础进阶需要掌握哪些知识点?Python将是每个程序员的标配,有编程基础再掌握Python语言对于日后的升职加薪更有利.Python语言简洁利于理解,语法上相对容易能够让开发者更专注于业务 ...

  4. Python爬虫进阶四之PySpider的用法

    审时度势 PySpider 是一个我个人认为非常方便并且功能强大的爬虫框架,支持多线程爬取.JS动态解析,提供了可操作界面.出错重试.定时爬取等等的功能,使用非常人性化. 本篇内容通过跟我做一个好玩的 ...

  5. python模块导入细节

    python模块导入细节 官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: ...

  6. python包导入细节

    包导入格式 导入模块时除了使用模块名进行导入,还可以使用目录名进行导入.例如,在sys.path路径下,有一个dir1/dir2/mod.py模块,那么在任意位置处都可以使用下面这种方式导入这个模块. ...

  7. 【转】python包导入细节

    [转]python包导入细节 包导入格式 导入模块时除了使用模块名进行导入,还可以使用目录名进行导入.例如,在sys.path路径下,有一个dir1/dir2/mod.py模块,那么在任意位置处都可以 ...

  8. 【转】python模块导入细节

    [转]python模块导入细节 python模块导入细节 官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码 ...

  9. python最全学习资料:python基础进阶+人工智能+机器学习+神经网络(包括黑马程序员2017年12月python视频(百度云链接))

    首先用数据说话,看看资料大小,达到675G 承诺:真实资料.不加密,获取资料请加QQ:122317653 包含内容:1.python基础+进阶+应用项目实战 2.神经网络算法+python应用 3.人 ...

随机推荐

  1. (转)在CentOS中修改中文字符集

    虽然在实际工作环境下,Linux中不建议使用中文,但是如果一定要进行中文显示,尤其对于刚接触linux且英语基础不太好的人来说,那么本文具有一定的参考价值. 本文介绍在linux的shell环境下优化 ...

  2. Maven基本使用汇总

    1. 基础问题 0.eclipse工程转maven工程:工程->右键->configure->convert to maven project 1.pom.xml总是在项目的根目录. ...

  3. webservice初识,SOAP1.1版本

    客户端与服务端模式,非web端发布 1.1      [Jax-ws第一个例子] 1.1.1     第一步:服务端开发 编写SEI(Service Endpoint Interface),SEI在w ...

  4. OkHttp工具类

    package test; import java.io.File; import java.io.IOException; import java.util.ArrayList; import ja ...

  5. PHPGGC学习----理论

    本文首发于先知:https://xz.aliyun.com/t/5450 PHPGGC 是一款能够自动生成主流框架的序列化测试payload的工具,类似 Java 中的 ysoserial, 当前支持 ...

  6. 使用compiz出现奔溃的一些应急办法

    Linux Mint 17.1 CompizConfig is also installed by default so you can configure every aspect of Compi ...

  7. Java并发编程的艺术,解读并发编程的优缺点

    并发编程的优缺点 使用并发的原因 多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升. 在特殊的业务场景下先天的就适合于并发编程. 比如在 ...

  8. 关闭VAX的拼写检查_解决中文红色警告问题

    菜单VAssistX->Visual Assistant X Options->Advanced->Underlines下 取消“Underline spelling errors  ...

  9. 报错:Program bash is not found in PATH

    (如果按照我的方法来的话是没有这个错误的,我之前用别的方法的时候有但是后来还是没解决,写出来放到这里做参考吧) 参考原文:http://blog.csdn.net/fuyongbing1986/art ...

  10. html5 app开发实例 Ajax跨域访问C# webservices服务

    通过几天的研究效果,如果在vs2010工具上通过webservice还是比较简单的,毕竟是一个项目. 如果您想通过HTML5 做出来的移动APP去访问c#做出来的webservice,那么就没那么简单 ...