Python02

字典

创建字典:使用大括号,用冒号分隔键和值
访问、插入、设置元素的语法与列表和元组一样
用in判断字典中是否存在某个键
用del关键字或pop方法(删除指定值或将其返回)可以删除值
keys和values方法分别用于获取键和值的列表(键和值会议相同的顺序输出)
用update方法,一个字典可以被合并到另一个字典中去


Python02_第1张图片
image.png

Python02_第2张图片
image.png

从序列类型创建字典(dict类型函数)

Python02_第3张图片
image.png

默认值

dict的get和pop方法可以接受一个可供返回的默认值


Python02_第4张图片
image.png

Python02_第5张图片
image.png

Python02_第6张图片

image.png

Python02_第7张图片
image.png

字典键的有效类型

字典的值可以是任何Python对象,但键必须是不可变对象,如标量类型(整数、浮点数、字符串)或元组(元组中的所有对象也必须是不可变的)
通过hash函数,可以判断某个对象是不是可哈希的(是不是可作为字典的键)
如果要把列表当做键,最简单的办法就是将其转换成元组


Python02_第8张图片
image.png

集合

创建方式:set函数或大括号{}抱起来的集合字面量


Python02_第9张图片
image.png

列表、集合以及字典的推导式(不懂)

函数

def定义,return返回,位置参数,关键字参数(用于指定默认值或可选参数)
关键字参数必须位于位置参数

命名空间、作用域、以及局部函数

返回多个值

Python02_第10张图片
image.png

函数亦为对象

Python02_第11张图片
image.png

Python02_第12张图片
image.png

匿名函数

用lambda关键字定义,仅由单条语句组成,语句的结果就是返回值

闭包

由其他函数动态生成并返回的函数,关键性质:被返回的函数可以访问其创建者的局部命名空间中的变量
下面这个函数可以返回一个能够记录其参数(曾经传入的一切参数)的函数


Python02_第13张图片
image.png

Python02_第14张图片
image.png

Python02_第15张图片
image.png

扩展调用语法和args、*kwargs

函数参数的工作方式其实很简单,当你在编写func(a,b,c,d=some,e=value)时,位置和关键字参数其实分别是被打包成元组和字典的。函数实际接收到的是一个元组args和一个字典kwargs,并在其内部完成如下转换


image.png

允许将位置参数当成关键字参数那样进行指定(即使它们在函数定义中并不是关键字参数),然后通过say_hello_then_call_f调用g


Python02_第16张图片
image.png

柯里化:部分参数应用

从现有函数派生出新函数,其实就是定义了一个可以调用现有函数的新函数
内置的functools模块可以用partial函数将此过程简化


Python02_第17张图片
image.png

pandas和时间序列数据


Python02_第18张图片
image.png

生成器

能以一种一致的方式对序列进行迭代(比如列表中的对象或文件中的行)


Python02_第19张图片
image.png

Python02_第20张图片
image.png

Python02_第21张图片
image.png

生成器表达式

是构造生成器的最简单方式,把列表推导式两端的方括号改成圆括号


Python02_第22张图片
image.png

itertools模块

Python02_第23张图片
image.png

Python02_第24张图片
image.png

Python02_第25张图片
image.png

文件和操作系统

Python02_第26张图片
image.png

Python02_第27张图片
image.png

Python02_第28张图片
image.png

Python02_第29张图片
image.png

常用的python文件方法

Python02_第30张图片
image.png

你可能感兴趣的:(Python02)