基础语法
Python 是一门高阶、动态类型的多范式编程语言;定义 Python 文件的时候我们往往会先声明文件编码方式:
为大家整理的Python语法速览与实战清单,请注意查收!人生苦短,请用 Python,大量功能强大的语法糖的同时让很多时候 Python 代码看上去有点像伪代码。譬如我们用 Python 实现的简易的快排相较于 Java 会显得很短小精悍:
为大家整理的Python语法速览与实战清单,请注意查收!控制台交互
可以根据 name 关键字来判断是否是直接使用 python 命令执行某个脚本,还是外部引用;Google 开源的 fire 也是不错的快速将某个类封装为命令行工具的框架:
为大家整理的Python语法速览与实战清单,请注意查收!Python 2 中 print 是表达式,而 Python 3 中 print 是函数;如果希望在 Python 2 中将 print 以函数方式使用,则需要自定义引入:
from future import print_function
我们也可以使用 pprint 来美化控制台输出内容:
为大家整理的Python语法速览与实战清单,请注意查收!模块
Python 中的模块(Module)即是 Python 源码文件,其可以导出类、函数与全局变量;当我们从某个模块导入变量时,函数名往往就是命名空间(Namespace)。而 Python 中的包(Package)则是模块的文件夹,往往由 init.py 指明某个文件夹为包:
为大家整理的Python语法速览与实战清单,请注意查收!Package 可以为某个目录下所有的文件设置统一入口:
为大家整理的Python语法速览与实战清单,请注意查收!表达式与控制流
条件选择
Python 中使用 if、elif、else 来进行基础的条件选择操作:
为大家整理的Python语法速览与实战清单,请注意查收!Python 同样支持 ternary conditional operator:
a if condition else b
也可以使用 Tuple 来实现类似的效果:
为大家整理的Python语法速览与实战清单,请注意查收!循环遍历
for-in 可以用来遍历数组与字典:
为大家整理的Python语法速览与实战清单,请注意查收!如果我们希望使用数字序列进行遍历,可以使用 Python 内置的 range 函数:
为大家整理的Python语法速览与实战清单,请注意查收!基本数据类型
可以使用内建函数进行强制类型转换(Casting):
为大家整理的Python语法速览与实战清单,请注意查收!Number: 数值类型
为大家整理的Python语法速览与实战清单,请注意查收!布尔类型
Python 提供了常见的逻辑操作符,不过需要注意的是 Python 中并没有使用 &&、|| 等,而是直接使用了英文单词。
为大家整理的Python语法速览与实战清单,请注意查收!String: 字符串
Python 2 中支持 Ascii 码的 str() 类型,独立的 unicode() 类型,没有 byte 类型;而 Python 3 中默认的字符串为 utf-8 类型,并且包含了 byte 与 bytearray 两个字节类型:
为大家整理的Python语法速览与实战清单,请注意查收!Python 字符串支持分片、模板字符串等常见操作:
为大家整理的Python语法速览与实战清单,请注意查收! 为大家整理的Python语法速览与实战清单,请注意查收! 为大家整理的Python语法速览与实战清单,请注意查收!如果需要判断是否包含某个子字符串,或者搜索某个字符串的下标:
为大家整理的Python语法速览与实战清单,请注意查收!Regex: 正则表达式
为大家整理的Python语法速览与实战清单,请注意查收!下面列举了常见的表达式使用场景:
为大家整理的Python语法速览与实战清单,请注意查收!集合类型
List: 列表
Operation: 创建增删
list 是基础的序列类型:
为大家整理的Python语法速览与实战清单,请注意查收!可以使用 append 与 extend 向数组中插入元素或者进行数组连接
为大家整理的Python语法速览与实战清单,请注意查收!可以使用 pop、slices、del、remove 等移除列表中元素:
为大家整理的Python语法速览与实战清单,请注意查收!Iteration: 索引遍历
你可以使用基本的 for 循环来遍历数组中的元素,就像下面介个样纸:
为大家整理的Python语法速览与实战清单,请注意查收!如果你在循环的同时也希望能够获取到当前元素下标,可以使用 enumerate 函数:
为大家整理的Python语法速览与实战清单,请注意查收!Python 也支持切片(Slices):
为大家整理的Python语法速览与实战清单,请注意查收!Comprehensions: 变换
Python 中同样可以使用 map、reduce、filter,map 用于变换数组:
为大家整理的Python语法速览与实战清单,请注意查收!reduce 用于进行归纳计算:
为大家整理的Python语法速览与实战清单,请注意查收!filter 则可以对数组进行过滤:
为大家整理的Python语法速览与实战清单,请注意查收!字典类型
创建增删
为大家整理的Python语法速览与实战清单,请注意查收!如果需要合并两个或者多个字典类型:
为大家整理的Python语法速览与实战清单,请注意查收!索引遍历
可以根据键来直接进行元素访问:
为大家整理的Python语法速览与实战清单,请注意查收!可以使用 for-in 来遍历数组:
为大家整理的Python语法速览与实战清单,请注意查收!其他序列类型
集合
为大家整理的Python语法速览与实战清单,请注意查收!函数
函数定义
Python 中的函数使用 def 关键字进行定义,譬如:
为大家整理的Python语法速览与实战清单,请注意查收!Python 支持运行时创建动态函数,也即是所谓的 lambda 函数:
为大家整理的Python语法速览与实战清单,请注意查收!参数
Option Arguments: 不定参数
为大家整理的Python语法速览与实战清单,请注意查收!生成器
为大家整理的Python语法速览与实战清单,请注意查收!装饰器
装饰器是非常有用的设计模式:
为大家整理的Python语法速览与实战清单,请注意查收!类与对象
类定义
Python 中对于类的定义也很直接:
为大家整理的Python语法速览与实战清单,请注意查收! 为大家整理的Python语法速览与实战清单,请注意查收!Managed Attributes: 受控属性
为大家整理的Python语法速览与实战清单,请注意查收!类方法与静态方法
为大家整理的Python语法速览与实战清单,请注意查收!对象
实例化
属性操作
Python 中对象的属性不同于字典键,可以使用点运算符取值,直接使用 in 判断会存在问题:
为大家整理的Python语法速览与实战清单,请注意查收!建议使用 hasattr、getattr、setattr 这种方式对于对象属性进行操作:
为大家整理的Python语法速览与实战清单,请注意查收!异常与测试
异常处理
Context Manager - with
with 常用于打开或者关闭某些资源:
为大家整理的Python语法速览与实战清单,请注意查收!单元测试
为大家整理的Python语法速览与实战清单,请注意查收!存储
文件读写
路径处理
Python 内置的 file 关键字会指向当前文件的相对路径,可以根据它来构造绝对路径,或者索引其他文件:
为大家整理的Python语法速览与实战清单,请注意查收!可以使用 listdir、walk、glob 模块来进行文件枚举与检索:
为大家整理的Python语法速览与实战清单,请注意查收!简单文件读写
为大家整理的Python语法速览与实战清单,请注意查收!复杂格式文件
JSON
为大家整理的Python语法速览与实战清单,请注意查收!XML
我们可以使用 lxml 来解析与处理 XML 文件,本部分即对其常用操作进行介绍。lxml 支持从字符串或者文件中创建 Element 对象:
为大家整理的Python语法速览与实战清单,请注意查收!其提供了迭代器以对所有元素进行遍历:
为大家整理的Python语法速览与实战清单,请注意查收!lxml 支持以 XPath 查找元素,不过需要注意的是,XPath 查找的结果是数组,并且在包含命名空间的情况下,需要指定命名空间:
为大家整理的Python语法速览与实战清单,请注意查收!lxml 提供了 insert、append 等方法进行元素操作:
为大家整理的Python语法速览与实战清单,请注意查收!Excel
可以使用 xlrd 来读取 Excel 文件,使用 xlsxwriter 来写入与操作 Excel 文件
为大家整理的Python语法速览与实战清单,请注意查收! 为大家整理的Python语法速览与实战清单,请注意查收!文件系统
对于高级的文件操作,我们可以使用 Python 内置的 shutil
为大家整理的Python语法速览与实战清单,请注意查收!网络交互
Requests
Requests 是优雅而易用的 Python 网络请求库:
为大家整理的Python语法速览与实战清单,请注意查收!数据存储
MySQL
为大家整理的Python语法速览与实战清单,请注意查收!
网友评论