1. b=a 将a赋值给一个新变量b,此时a、b同时指向同一个对象,则对a进行添加一个元素,b同时也会增加
赋值操作也叫做绑定(binding),实际上是将一个名称和一个对象绑定到一起
2. 定义个函数如下图,按引用传递
3. 动态引用,强类型语言,了解对象的类型
4. isinstance可以接受由类型组成的元组,用来检查一个对象是否是某个特定类型及检查某个对象的类型是否属于元组中所指定
5. 检查对象是否是列表,如果不是,将其转换为列表
6. 新建一个py文件,命名为some_module,直接引入(import),如图得出结果为5
7. 如建立的新的py文件为左下图,引用该文件,右图得出结果
.
8. 二元运算符和比较运算符:判断两个引用是否指向同一个对象用is或is not
第8行:==表示比较运算
第14行:a除以b后向下圆整,丢弃小数部分
第15行:按位与,如果a与b均为True,则结果为True
第21行:引用a和b是否指向同一个python对象
9.复数的虚部用j表示
10. 第8行:使用三重引号('''或"""),实现带有换行符的多行字符串,输出为第9行
如果要修改字符串,11行所示
11. 用str函数将对象转化为字符串
12. 将字符串转化为某种序列类型(列表、元组等)进行处理,第20行:选择出前4个元素
13. 将两个字符串加起来产生一个新的字符串
14. 字符串格式化:%s表示将参数格式化为字符串,%.2f表示一个带有2为小数的数字,%d表示一个整数
15. datetime.now()获取当前的日期和时间,datetime是一个模块,该模块中包含着datetime类,第9行导入的是datetime这个类
16. python3中range返回的是一个迭代值
range(10)用于产生一组间隔平均的整数
第25行的报错:是因为括号用了中文状态下的括号
17. 元组:是一种一维的、定长的、不可变的Python对象序列
元组可以通过加号(+)运算符连接起来以产生更长的元组
第16行报错:在19行查了这个类型,默认为字符串类型,而在20行加了逗号就显示为元组类型,这里type()可以检查类型,更加方便
18. 元组拆包:如果对元组型变量表达式进行赋值,python就会尝试将等号右侧的值进行拆包(unpacking)
如第27行到31行
第32行:嵌套元组也能拆包,如第34行至第38行
19. count()是指计算指定值的出现次数
第42行是元组,第44行是列表,它们在许多函数中是可以互换的
通过append方法,可以将元素添加到列表的末尾,insert()可以将元素插入到列表的指定位置
insert的逆元素是pop,他可以用于移除并返回指定索引出的元素,remove用于按值删除元素,找到第一个符合要求的值然后就其从列表中删除
跟元组一样,用加号(+)将两个列表加起来即可实现合并
extend将元素附加到现有列表
sort方法可以实现就地排序
第64行是次要排序(通过长度对一组字符串进行排序),即一个能够产生可用于排序的值的函数
bisect.bisect可以找出新元素应该被插入到哪个位置才能保持原列表的有序性,bisect.insort则确实地将新元素插入到哪个位置上
enumerate函数,(1)逐个返回序列的(i,value)元组 (2)求取一个将序列值映射到其所在位置的字典
sorted函数可以将任何序列返回为一个新的有序列表
sorted和set结合起来使用以得到一个由序列中的唯一元素组成的有序列表
zip用于将多个序列(列表、元组等)中的元素“配对”,从而产生一个新的元组列表
第95行输出结果是一个对象,如果要显示出结果,必须用list函数(对象迭代器):list把对象转为一个列表
zip解压:如下图
20. 按逆序迭代序列中的元素
21. 字典(dict)算是Python中最重要的内置数据结构。 它是一种大小可变的键值对集,其中的键(key)和值(value)都是python对象。使用冒号分隔键和值。
访问(以及插入、设置)元素的语法跟列表和元组是一样的
第25行:判断字典中是否存在某个键
第28行为插入元素
第30行为删除键为5的元素
pop()也是删除值,但是pop删除指定值之后将其返回
第36行和37行分别获取键和值的列表,而且这两个函数会以相同的顺序输出键和值
第38行 update()方法,一个字典可以被合并到另一个字典中
enumerate函数,可以逐个返回序列的(i,value)元组
字典是二元元组集,使用dict类型函数直接处理二元组列表
22. 第60行为一个集合,是由唯一元素组成的无序集,集合的创建方式有:set函数或用大括号包起来的集合字面量
第63行至66行为数学集合运算,如并、交、差以及对称差等
第68行:一个集合是否是另一个集合的子集
第69行:一个集合是否是另一个集合的超集
第71行:判断两个集合是否有公共元素,没有,则为true,反正,false
转换大小写字母
第78行:统计含有e的元素的个数
22. 函数
使用def关键字声明,并使用return关键字返回
第88行 导入正则表达式模块
下图为对一些数据清理工作并
value.strip() 移除字符串头尾指定的字符(默认为空格)
re.sub('[!#?]','',value) 移除标点符号
value.title() 所有单词都是以大写开始,其余字母均为小写
lambda 匿名函数
set()是指集合
函数调用:
23. 生成器 (迭代器协议,它是一种使对象可迭代的通用方式)
第15行:对字典进行迭代可以得到其所有的键
第17行:创建一个生成器,第20行:从生成器中请求元素
生成器表达式:是构造生成器的最简单的方式
生成器表达式可以用于任何接受生成器的python函数
第43行:导入itertools模块(这个模块中有一组用于许多常见数据算法的生成器),它根据函数的返回值对序列中的连续元素进行分组。
groupby可以接受任何序列和一个函数