你好python!——python中的函数与数据容器

一、函数的定义

1.1函数定义语法

1.2函数的参数

1.2.1参数的传入

python中函数的参数和C语言函数的参数其实一样,他们都是形参,是实参的一份临时拷贝。我们来定义一个加法函数来看看函数的参数传入:

参数之间使用逗号进行分隔。

1.2.2函数的调用

那我们应该如何调用函数呢?如果函数有返回值,我们可以用一个变量来接收函数的值:

1.3函数的返回值

1.3.1函数有返回值

刚才我们讲到函数如果有返回值可以用变量接收,函数的返回值可以是表达式也可以是常量。

1.3.2函数无返回值

在C语言中的函数,没有返回值我们可以直接写成 **return;**那么我们在 python 中应该如何定义没有返回值的函数呢?

python 中有个特殊的字面量 ''None'' ,它的类型是:<class'NoneType'>

None 可以直接用 return 返回,效果等同于不写 return 语句。

None的应用场景:

1.用在 if 判断上

在 if 判断中,None 等同于 False,一般主动返回None,配合 if 判断做相关处理

2.用于声明无内容的变量上

在C语言中,我们对于无内容的变量可以直接赋初值为0,在 python 中,我们就可以把变量值赋值为 None

1.4函数的说明文档

通俗点来说,函数的说明文档就是用注释给每个参数(包括返回值)进行说明,当我们在函数定义中打上多行注释再回车,就会自动显示每一个参数,辅助理解函数的作用:

不要小看这个注释,之所以叫说明文档是因为它真的是个存储信息的文档,当我们再次调用函数的时候,鼠标定格在函数名上,我们的说明文档就会自动浮现:

二、数据容器

在我看来,python 中的数据容器好像 C语言 中结构体和数组的结合体。数据容器是可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素,每一个元素都可以是任意类型的数据,如字符串、整型、浮点型...

数据容器根据特点的不同,如:

是否支持重复元素

是否可以修改

是否有序,等

分为5类,分别是:
列表 (list)、元组 (tuple) 、字符串 (str)、集合 (set) 、字典 (dict)

2.1list(列表)

2.1.1列表的定义

列表可以一次存储多个数据,可以为不同的数据类型,支持嵌套。下面我们来写一个实例演示:

2.1.2列表的下标

列表正向的下标和数组下标等同,第一个元素都是0,但是列表可不是只有这点功能,列表也可以反向索引,最后一个元素是-1,倒数第二个为-2...

我们要是想索引元素,应该怎么用呢?

语法: 列表名[标号]

嵌套列表的下标和数组类似,但是也可以反向索引单个元素。

2.1.3列表的常用操作(方法)

列表提供很多一系列功能:

插入元素、删除元素、清空列表、修改元素、统计元素个数...这些功能我们都成为列表的方法。

在 python 中,如果把函数定义为 class(类) 的成员,那么函数会称之为:方法

方法和函数功能一样,只是方法的使用格式不同:

查找某元素的下标

功能:查找指定元素在列表的下标,如果找不到,报错ValueError

语法:列表.index(元素)

修改特定位置的元素值:

功能:直接对指定下标的值进行重新赋值

语法:列表[下标] = 值

插入元素:

功能:在指定的下标位置,插入指定的元素

语法:列表.insert(下标, 元素)

追加元素:

功能:将指定元素追加到列表的尾部

语法:列表.append(元素)

功能:将其他数据容器的内容依次追加到列表尾部

语法:列表.extend(其他数据容器)

删除元素:

功能:删除指定下标元素

语法1:del 列表[下标]

语法2:列表.pop(下标)

功能:删除某元素在列表中的第一个匹配项

语法:列表.remove(元素)

清空列表:

功能:清空列表内容

语法:列表.clear()

统计数量:

功能:统计某元素在列表内的数量

语法:列表.count(元素)

功能:统计列表内,有多少元素

语法:len(列表)

2.1.4列表的特点

·可以容纳多个元素

·可以容纳不同类型的元素

·数据是有序存储的

·允许重复数据存在

·可以修改

2.2 list(列表)的遍历

2.2.1 while循环

2.2.2 for循环

2.3 tuple(元组)

元组同列表一样,都是可以封装多个不同类型的元素,但是元组一旦定义,就不可以修改。

2.3.1元组的定义

注意:如果元组只有1个元素,这个数据后面要添加逗号

2.3.2元组的下标

元组的下标和列表等同,这里不过多介绍。

2.3.3元组的操作

查找某元素的下标

功能:查找指定元素在元组的下标,如果找不到,报错ValueError

语法:元组.index(元素)

统计数量:

功能:统计某元素在元组内的数量

语法:元组.count(元素)

功能:统计元组内,有多少元素

语法:len(元组)

2.3.4元组的遍历

元组的遍历和列表一样,具有 while 循环和 for 循环

2.3.5元组的特点

·可以容纳多个元素

·可以容纳不同类型的元素

·数据是有序存储的

·允许重复数据存在

·不可以修改(可以修改其嵌套的list中的元素)

2.4 str(字符串)

2.4.1字符串的下标索引

字符串的下标索引与列表一样,这里也不作过多解释

2.4.2字符串的操作

特别注意:字符串的操作在使用时一定要记得加双引号**""**

在C语言中,字符串是一个常量;在python中,字符串同元组一样,是一个无法修改的数据容器

修改指定下标的字符、移除特定下标的字符、追加字符......都是无法实现的,如果必须要做,我们只能通过得到一个新字符串的方法来实现以上功能。

字符串的替换

功能:将字符串1内的全部内容替换为字符串2

语法:字符串.replace(字符串1, 字符串2)

注意:不是修改字符串本身,而是得到了一个新字符串

字符串可以指大字符串中的某小字符串

字符串的分割

功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中

语法:字符串.split(分隔符字符串)

注意:字符串本身不变,得到一个列表对象

这个功能像不像C语言中的 strtok 函数?

字符串的规整操作

功能:去除前后指定字符串

语法:字符串.strip(字符串)

如果strip()中没有传入字符串,则默认去除前后空格以及回车符

注意:如果传入的是"32",那么"3"和"2"都会移除,系统是按照单个字符来去除的

只能去除首尾的对应元素,并不能去除中间的对应元素

查找给定字符的第一个匹配项的下标

功能:查找指定元素在列表的下标,如果找不到,报错ValueError

语法:字符串.index(字符串)

统计数量:

功能:统计某字符串在字符串内的数量

语法:字符串.count(字符串)

功能:统计字符串内,有多少元素

语法:len(字符串)

2.4.2字符串的特点

·只可以存储字符串

·长度任意

·支持下标索引

·允许重复字符串存在

·不可以修改

2.5数据容器(序列)的切片

2.5.1什么是序列

序列是指内容连续、有序,可使用下标索引的一类数据容器,列表、元组、字符串,均可视为序列

2.5.2 序列的常用操作:切片

功能:从一个序列中,取出一个子序列

语法:序列[起始下标:结束下标:步长]

表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:

**起始下标:**表示从何处开始,可以留空,留空视作从头开始

**结束下标(不含该下标元素):**表示何处结束,可以留空,留空视作截取到结尾

步长: 依次取元素的间隔
步长1表示,一个个取元素
步长2表示,每次跳过1个元素取
步长N表示,每次跳过N-1个元素取
步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

注意:此操作不会影响序列本身,而是会得到一个新的序列

2.6 set(集合)

经过前面的学习,我们总结出列表、元组、字符串都是支持重复元素且有序的,但是当我们需要去重处理时,他们就不太合时宜了,所以我们接下来一起学习set(集合),他最大的特点就是不支持重复元素且无序。

2.6.1集合的定义

2.6.2集合的常用操作

因为集合是乱序的,所以集合不支持下标索引访问哦!

添加新元素

功能:将指定元素添加到集合内

语法:集合.add(元素)

结果:集合本身被修改,添加了新元素

移除元素

功能:将指定元素从集合内移除

语法:集合.remove(元素)

结果:集合本身被修改,移除了该元素

随机取出元素

功能:从集合中随机取出一个元素

语法:集合.pop()

结果:会得到一个元素的结果,同时原集合中该元素被移除

清空集合

功能:清空整个集合的元素

语法:集合.clear()

统计集合元素数量

功能:统计集合去重后的元素数量

语法:len(集合)

取出两个元素的差集

功能:取出集合1和集合2的差集

语法:集合1.difference(集合2)

集合1有而集合2没有的

结果:得到一个新集合,集合1和集合2不变

消除2个集合的差集

功能:对比集合1和集合2,在集合1内删除和集合2相同的元素

语法:集合1.difference_update(集合2)

结果:集合1被修改。集合2不变

合并2个集合

功能:将集合1和集合2合并成新集合(自动去重)

语法:集合1.union(集合2)

结果:得到新集合,集合1和集合2不变

2.6.3集合的遍历

因为集合不支持下标索引,所以不能用 while 循环遍历

2.6.4集合的特点

·可以容纳多个元素

·可以容纳不同类型的元素

·数据是无序存储的

·不允许重复数据存在

·可以修改

Python就写到这里吧,果然我还是太天真了,学习时间还是不够呀!

相关推荐
轻竹办公PPT4 分钟前
2026 年工作计划 PPT 内容拆解,对比不同 AI 生成思路
人工智能·python·powerpoint
癫狂的兔子16 分钟前
【Python】【Flask】抽奖功能
开发语言·python·flask
linuxxx11033 分钟前
python变量引用的小案例
python
2501_936146041 小时前
烟草叶片病害检测_YOLO11-C3k2-MSBlock模型详解
python
Data_agent1 小时前
Python 编程实战:函数与模块化编程及内置模块探索
开发语言·python
十铭忘1 小时前
windows系统python开源项目环境配置1
人工智能·python
Generalzy1 小时前
langchain deepagent框架
人工智能·python·langchain
栈与堆1 小时前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
万行2 小时前
机器学习&第二章线性回归
人工智能·python·机器学习·线性回归
nervermore9902 小时前
3.3 Python图形编程
python