Effective Python:第8条 用zip函数同时遍历两个迭代器
摘要:用Python内置的zip函数来实现。这个函数能把两个或更多的iterator封装成惰性生成器(lazy generator)。每次循环时,它会分别从这些迭代器里获取各自的下一个元素,并把这些值放在一个元组里面。 names = ["Cecilia", "Lise", "Marie"] counts
阅读全文
Effective Python:第7条 尽量用enumerate取代range
摘要:Python有个内置的函数,叫作enumerate。enumerate能够把任何一种迭代器(iterator)封装成惰性生成器(lazy generator)。这样的话,每次循环的时候,它只需要从iterator里面获取下一个值就行了,同时还会给出本轮循环的序号,即生成器每次产生的一对输出值。下面通
阅读全文
Effective Python:第6条 把数据结构直接拆分到多个变量里,不要专门通过下标访问
摘要:使用拆分(unpacking),就可以把元组里面的元素分别赋给多个变量。 优点: 1,通过unpacking来赋值要比通过下标去访问元组内的元素更清晰,而且这种写法所需的代码量通常比较少。 2,便于原地交换两个变量; tb = [1, 2] tb[0], tb[1] = tb[1], tb[0] p
阅读全文
Effective Python:第4条 用支持插值的f-string取代C风格的格式字符串与str.format方法
摘要:Python里面最常用的字符串格式化方式是采用%格式化操作符。这个操作符左边的文本模板叫作格式字符串(format string)
阅读全文
Effective Python:第3条 了解bytes与str的区别
摘要:Python有两种类型可以表示字符序列:一种是bytes,另一种是str。bytes实例包含的是原始数据,即8位的无符号值(通常按照ASCII编码标准来显示)。str实例包含的是Unicode码点(code point,也叫作代码点)。 注意点: 1,bytes和str并不兼容。在传递字符序列的时候
阅读全文
Effective Python:第2条 遵循PEP 8风格指南
摘要:PEP8文档:https://peps.python.org/pep-0008/ 与空白有关的建议: 用空格(space)表示缩进,而不要用制表符(tab)。 和语法相关的每一层缩进都用4个空格表示。每行不超过79个字符。 对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上
阅读全文
Effective Python:第1条 查询自己使用的Python版本
摘要:命令行: python --version:通常可查看python2的版本; python3 --version:通常可查看python3的版本; 代码: import sys print(sys.version) #输出3.10.7 (v3.10.7:6cc6b13308, Sep 5 2022,
阅读全文
Effective Python:简介
摘要:作者:布雷特·斯拉特金 本书的大部分范例代码都遵循Python 3.7版本的语法规范,Python 3.7发布于2018年6月。另外,书里还会给出一些采用Python 3.8语法规范所写的范例,让大家能够看到一些新特性,Python 3.8发布于2019年10月。笔者不会在本书里讲Python 2
阅读全文