1. python函数定义
函数定义语法:
def 函数名(传入参数):
函数体
return 返回值
——————————————
- 参数如果不需要,可以省略
- 返回值如果不需要,可以省略
- 函数必须先定义在使用
注意:当无返回值是,python实际上返回了一个参数:None。
2. global关键字
使用global关键字可以在函数内部声明变量为全局变量,如下所示:
3. python数据容器
数据容器根据特点不同,如:
- 是否支持重复元素
- 是否可以修改
- 是否有序
分为了五类,分别是:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)。
3.1 数据容器:list(列表)
3.1.1 列表的定义
变量名称 = [元素一,元素二,元素三,元素四,。。。]
定义空列表:
变量名称 = []
变量名称 = list()
列表内的每一个数据,称之为元素
- 以【】作为标识
- 列表内每一个元素之间用“,”逗号隔开
3.1.2 列表的下标索引
如图,列表中的每一个元素都有其位置上的下标索引,从前向后,从0开始依次递增。
或者也可以反向索引,也就是从后向前,从-1开始依次递减(-1,-2,-3,。。。)
如果列表是嵌套列表,同样可以进行下标索引:
例子如下:
3.1.3 列表的常用操作
常用操作有:
- 插入元素
- 删除元素
- 清空元素
- 修改元素
- 统计元素个数
- 列表的查询
查找某元素的下标
功能:查找指定元素在列表的下标,如果找不到,报错ValueError
语法:列表.index(元素)
- 列表的修改
修改特定位置(索引)的元素值:
语法:列表【下标】= 值
- 列表插入元素
语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素。
- 列表元素的追加
语法:列表.append(元素),将指定元素追加到列表的尾部。
另外,列表除了能追加单个元素,还可以追加一批元素:
语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部。
- 列表元素删除
语法1:del 列表【下标】
语法2:列表.pop(下标)
此外,python还可以删除某元素在列表中的第一个匹配项
语法:列表.remove(元素)
- 清空列表内容
语法:列表.clear()
- 统计某一个元素在列表中的数量
语法:列表.count(元素)
- 列表长度
语法:len(列表)
——————————————————
3.2 数据容器:tuple(元组)
由于列表可以修改,当我们需要不可修改的数据容器是,元组就出现了。
元组一旦定义完成,就不可修改。
元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不用的数据类型。
定义:tuple = (元素1,元素2,元素3,元素4,。。。)
注意:当元组只有一个数据,这个数据后面要添加逗号
3.2.1 下标查找
语法:元组.index()
3.2.2 统计某元素个数
语法:count()
3.2.3 统计长度len()
语法:len()
特例:我们知道元组的内容不可修改,但如果在元组内嵌套了list,那么list内的内容就可以修改。
3.3 数据容器:str(字符串)
字符串是字符的容器,一个字符串可以存放任意量的字符。
同时,字符串也支持下标,每一个字符都占有一个下标索引。
同元组一样,字符串也是一个不可修改的数据容器。所以:
- 修改指定下标的字符
- 移除指定下标的字符
- 追加字符
以上操作均无法完成,如果必须要修改,只能在创建一个新的字符串。
- 查找特定字符串的下标索引值
语法:字符串.index(字符串)
- 字符串的替换
语法:字符串.replace(字符串1,字符串2)
功能:将字符串1内的全部替换为字符串2。
注意:不是修改字符串本身,而是得到一个新的字符串。
- 字符串的分割
语法:字符串.split(分隔符字符串)
功能:按照指定的分隔符字符串,将字符串用逗号划分为多个字符串,并存入列表对象中。
注意:字符串本身不变,而是得到了一个列表对象。
- 字符串去除前后空格
语法:字符串.strip()
- 字符串去除前后指定字符串
语法:字符串.strip(字符串)
- 统计字符串某字符串出现次数
语法:字符串.count(字符串)
- 统计字符串长度
语法:len(字符串)
3.4 数据容器的切片
序列:序列是指内容连续有序,可使用下标索引的一类数据容器。
切片:从一个序列中,取出一个子序列。
语法:序列【起始下标:结束下标:步长】
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。
起始下标表示从何处开始,可以留空,留空表示从头开始
结束下标(不包含)表示从何处结束,可以留空,留空表示取到结尾
步长表示,依次取出元素的间隔:
- 步长1表示:一个一个取元素
- 步长2表示:每次跳过1个元素
- 步长n表示:每次跳过n-1个元素
- 步长为负数表示:反向取(注意,起始下标和结束下标也要反向标记)
注意:此操作不会影响序列本身,而是得到一个新的序列
3.5 数据容器:set(集合)
前面说的列表、元组、字符串的局限性在于:他们都支持重复元素。
如果实际情况需要对内容进行去重处理,就需要用集合了。
集合:不支持元素的重复(自带去重功能),并且内容无序。集合使用{}
定义:集合 = {元素,元素,元素,。。。}
3.5.1 集合修改
由于集合是无序的,所以集合不支持下标索引访问数据。
但是集合和列表一样,是允许修改的。
- 添加新元素
语法:集合.add(元素)
- 移除元素
语法:集合.remove(元素)
- 随机取出元素
语法:集合.pop()
结果:会得到一个元素的结果,同时集合被修改,元素被移除。
- 清空集合
语法:集合.clear()
- 取出两个集合差集
语法:集合1.difference(集合2)
功能:取出集合1有而集合二没有的元素,得到一个新集合
- 消除两个集合的差集
语法:集合1.difference_update(集合2)
功能:在集合1内,删除和集合2相同的元素。集合1被修改,集合2不变。
- 两个集合合并
语法:集合1.union(集合2)
功能:将集合1和集合2组合成新集合,得到一个新集合,集合1和集合2不变。
- len()
统计集合元素数量。
——————————————————
集合不支持下标索引,所以不能用while循环,可以用for循环。
3.6 数据容器:dict(字典)
3.6.1 字典的定义
python中的字典:key->value
字典的定义:同集合一样使用{},存储的元素是键值对。
字典 = {key:value,key:value,。。。}
同时,字典的key不可重复。如果重复,程序存储最后一个key。
- 字典取数据
字典同样可以嵌套。
3.6.2 字典的常用操作
- 新增元素
语法:字典【key】 = value。
- 更新元素
语法:字典【key】 = value。
- 删除元素
语法:字典.pop(key)。
- 清空字典
语法:字典.clear()
- 获取全部key
语法:字典.keys()
- 遍历字典
语法:字典同样不可用while循环,可用for循环:for key in 字典.keys()
- 计算字典内全部元素(键值对)数量
语法:len(字典)
3.7 数据容器对比
3.8 数据容器通用操作
- len(容器):求元素个数
- max(容器):求最大元素
- min(容器):求最小元素
- list(容器):将指定容器转换为列表
- str(容器):将指定容器转换为字符串
- tuple(容器):将指定容器转换为元组
- set(容器):将指定容器转换为集合
- sorted(容器,【erverse = True】):将指定容器进行排序,排序后都会得到一个list对象。