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. RabbitMQ使用教程(四)如何通过持久化保证消息99.99%不丢失?

    1. 前情回顾 RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例 RabbitMQ使用教程(二)RabbitMQ用户管理,角色管理及权限设置 RabbitMQ使用 ...

  2. 【Java】Java与数字证书

    Java与数字证书 Java与数字证书 证书的签发和应用 证书的内容和意义 其它 证书(Certificate,也称public-key certificate)是用某种签名算法对某些内容(比如公钥) ...

  3. linux安装gcc和gcc-c++

    有些VPS中使用的是精简版Linux,上篇linux下自动备份blog到dropbox中的gcc和gcc-c++编译器没安装,无法编译出链接的"hostid",下面是Linux安装 ...

  4. java中key值可以重复的map:IdentityHashMap

    在Java中,有一种key值可以重复的map,就是IdentityHashMap.在IdentityHashMap中,判断两个键值k1和 k2相等的条件是 k1 == k2 .在正常的Map 实现(如 ...

  5. C# 多线程之线程池

    线程池System.Threading.ThreadPool,可用于发送工作项.处理异步I/O.代表其它线程等待以及处理计时器.基本用法: public void Main() { ThreadPoo ...

  6. spring boot 启动报错No active profile set, falling back to default profiles

    报错No active profile set, falling back to default profiles pom.xml加上下面两个依赖 <dependency> <gro ...

  7. 面向对象设计与构造:oo课程总结

    面向对象设计与构造:OO课程总结 第一部分:UML单元架构设计 第一次作业 UML图 MyUmlInteraction类实现接口方法,ClassUnit和InterfaceUnit管理UML图中的类和 ...

  8. Openstack Ocata 多节点分布式部署

    1 安装环境 1.1 安装镜像版本 建议最小化安装,这里用的是CentOS-7-x86_64-Minimal-1511. 1.2 网络规划 本文包含控制节点controller3,计算节点comput ...

  9. js识别中英文字符的字节长度并进行裁切

    //调用方法,传入字符串和需要返回的字节长度即可function cutstr(str,len){ var str_length = 0; var str_len = 0; str_cut = new ...

  10. jQuery-添加新元素的方法(append()、prepend()、before()、after())

    1.以 HTML 创建新元素 var txt1="<p>Text.</p>"; 2.以 jQuery 创建新元素 var txt2=$("< ...