深度学习python基础(第三节) 函数、列表

embedded/2025/1/24 0:53:31/

本节主要介绍函数、列表的基本语法格式。

函数    

与c语言的函数差不多,就是语法基本格式不同。

python">name = "loveyou"
length = len(name)
print("字符串的长度为:%d" % length)
# 自定义函数
def countstr(data):count = 0for i in data:count += 1return countlength = countstr(name)
print("字符串%s的长度为:%d" % (name,length))

函数的基础定义语法

python">"""
def 函数名(传入参数):函数体return 返回值参数不需要可以省略  
返回值不需要可以省略
"""
def say_hello(): # 函数定义print("Hello world!")
say_hello() # 函数调用

函数的参数

python">"""
函数的参数不限量,使用逗号分隔开
传入参数时要一一对应,逗号分隔开"""# 两数相加函数
def add(x , y): # 形式参数return x + y
a = 10
b = 20
add(a , b) # 实际参数

设计一个考研上岸函数

python">"""
考研分数大于等于370分输出:恭喜上岸,休息一下准备复试!
考研分数小于370分输出:恭喜上岸,抓紧准备复试!
"""
def success(score):print("欢迎来到上岸查询系统!")if score >= 370:print(f"您的考研分数是{score}:恭喜上岸,休息一下准备复试!")else:print(f"您的考研分数是{score}:恭喜上岸,抓紧准备复试!")score1 = 380
score2 = 360
success(score1)
success(score2)

函数返回值

python">"""
返回值的作用
返回值的定义语法
"""# 两数相乘函数
def mul(x , y): # 形式参数return x * y
a = 10
b = 20
mul(a , b) # 实际参数

None类型

python">"""
函数都是有返回值的不写就是返回None
"""def hello():print("你好!")# return Noneresult = hello()
print(type(result)) # None等于False可以根据函数返回值进行if判断

函数的说明文档  

通过多行注释来进行对函数的描述。

python">def func(): # 鼠标悬停在函数上就有解释"""演示函数的说明文档  1.针对每个参数的说明  2.以及函数返回值的说明    3.函数的具体功能是什么等等"""print("这是func函数")

函数的嵌套调用  

在一个函数里面又调用另一个函数,不解释很简单。

变量在函数中的作用域

python">"""
知道什么是局部变量:在函数体的内部可以使用,外部不能使用
知道什么是全局变量:在函数体内和体外都可以使用,尽量避免使用全局变量会发生耦合
与c语言一样不解释
"""# 在函数内修改全局变量num = 100
def test1():print(f"num的值为:{num}")def test2():global num # 非常重要num = 200 # 在修改全局变量时,需要对全局变量进行声明,否则还会认为是局部变量print(f"num的值为:{num}")test1()
test2()

函数的综合案例

python">"""
简要设计银行存取款业务
包括主菜单:1.查询余额2.存款3.取款4.退出
每个分操作的页面设置"""
# 定义初始全局变量
name = None
money = 10000name = input("请输入您的姓名:")def check():global name,moneyprint("----------------查询余额----------------")print(f"客户的姓名为:{name},账户余额为:{money}")def cun():global name,moneyprint("----------------存款----------------")count = int(input("请输入存款金额:"))money += countprint(f"客户的姓名为:{name},账户余额为:{money}")def qu():global name,moneyprint("----------------取款----------------")count = int(input("请输入取款金额:"))if (money - count) < 0:print("账号余额不足!")else:money -= countprint(f"客户的姓名为:{name},账户余额为:{money}")def main_caidan():print("欢迎来到xx银行系统!")choose = 0while(choose != 4):print("""1.查询余额2.存款3.取款4.退出""")choose = int(input("请输入业务请求:"))if choose == 1:check()elif choose == 2:cun()elif choose == 3:qu()elif choose == 4:print("退出成功")else:print("输入错误,请重新输入!")main_caidan()

python数据容器

分为5类:列表(list),元组(tuple),字符串(str),字典(dict)  。

数据容器内的每一份数据,都称之为元素。

列表的定义格式

python">"""
[元素1,元素2,元素3,...,元素n]
"""
name_list = ["i","love","you"]
print(name_list)
print(type(name_list))
python">my_list = ['love',1314,True] # 列表的元素可以是多种数据类型
print(my_list)
print(type(my_list))

列表的嵌套定义

python">list2 = [[1,2,3],[4,5,6]] # 二维数组喜喜
print(list2)
print(type(list2))

列表的下表索引取出元素

注意: 从前向后从零开始,从后向前从-1开始,下标索引不要超过范围。

python">name_list = ["Tom","Rose","Lily"]
print(name_list[0]) # Tom
print(name_list[1]) # Rose
print(name_list[2]) # Lily
python">name_list = ["Tom","Rose","Lily"]
print(name_list[-1]) # Lily
print(name_list[-2]) # Rose
print(name_list[-3]) # Tom
python">list2 = [[1,2,3],[4,5,6]] # 二维数组喜喜
print(list2[0][0]) # 1
print(list2[-1][0]) # 4
print(list2[0])

列表的常用操作

查找某元素下标

python">"""
插入元素
删除元素
清空列表
修改元素
统计元素个数列表的方法
"""
"""
查找某元素下标,如果找不到,报错ValueError
语法列表.index(元素)
"""#定义一个基础的列表 
list_name = ["C++","python","java","go","javaScrip"]
index = list_name.index("python")
print(f"python所在列表的下标索引值为:{index}") # python所在列表的下标索引值为:1
# index = list_name.index("hello") # 报错,元素不存在

修改特定位置(索引)的元素值

python">"""
修改特定位置(索引)的元素值
语法:列表[下标] = 值
"""
list_name[0] = 'C' # 将C++修改为C
print(list_name) # ['C', 'python', 'java', 'go', 'javaScrip']

插入元素

python">"""
插入元素
语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素"""list_name.insert(0,"C++")
print(list_name)

追加元素

python">"""
追加元素
语法:列表.append(元素),将指定元素,追加到列表的尾部
"""
list_name.append("R")
print(list_name)

追加一批元素

python">"""
追加一批元素
语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部"""
list_name2 = [1,2,3]
list_name.extend(list_name2)
print(list_name)

删除元素

python">"""
删除元素
语法1:del 列表[下标] # 仅仅删除
语法2:列表.pop(下标) # 删除同时返回删除元素
"""
list_name = ["C++","python","java","go","javaScrip"]
del list_name[1] # 将python删除['C++', 'java', 'go', 'javaScrip']
print(list_name)
python">list_name = ["C++","python","java","go","javaScrip"]
element = list_name.pop(1) # 将python删除['C++', 'java', 'go', 'javaScrip']
print(element)
print(list_name)

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

python">"""
删除某元素在列表中的第一个匹配项
语法:列表.remove(元素)
"""
my_list = [1,2,3,2,3]
my_list.remove(2) # [1, 3, 2, 3]
print(my_list)

清空列表内容

python">"""
清空列表内容
语法:列表.clear()
"""
my_list = [1,2,3,2,3]
my_list.clear() # []
print(my_list)

统计某元素在列表中的数量

python">"""
统计某元素在列表中的数量
语法:列表.count(元素)
"""
my_list = [1,2,3,2,3,2]
print(my_list.count(2)) # 3

统计列表内,有多少元素

python">"""
统计列表内,有多少元素
语法:len(列表)
"""
my_list = [1,2,3,2,3,2]
print(len(my_list)) # 6

列表的遍历  

1.while循环遍历列表的元素。

2.for循环遍历列表的元素。

python">list1 = [ i for i in range(10)]
print(list1)
index = 0
while index < len(list1):print(list1[index],end = '\t')index += 1
for i in list1:print(i,end = '\t')

http://www.ppmy.cn/embedded/156439.html

相关文章

Windows 通过 openssh 连接 Ubuntu 24.04 LTS

Ubuntu 24.04 LTS Ubuntu 配置 sudo apt update sudo apt install openssh-server sudo systemctl start ssh sudo systemctl enable ssh sudo systemctl status ssh sudo ufw status sudo ufw allow ssh sudo ufw reload sudo ufw status安装 OpenSSH 服务器 首先&#xff…

三格电子——MODBUS TCP 转 CANOpen 协议网关

一、产品概述 1.1 产品用途 SG-TCP-COE-210 网关可以实现将 CANOpen 接口设备连接到 MODBUS TCP 网络中。用户不需要了解具体的 CANOpen 和 Modbus TCP 协议即可实现将 CANOpen 设备挂载到 MODBUS TCP 接口的 PLC 上&#xff0c;并和 CANOpen 设备进行 数据交互。 1.2 产品…

Transformer 与注意力机制原理说明与面试笔试题

文章大纲 注意力机制不同 种类的注意力机制Encoder Decoder 框架自注意力自注意力机制概述**基本原理****优点与应用****自注意力与多头注意力的关系****总结**多头注意力**多头注意力机制概述****基本原理****计算过程****多头注意力的优势****多头自注意力与多头注意力的区别…

Azure学生订阅上手实操:在Ubuntu VPS上利用Docker快速部署PostgreSQL数据库

引言 本文将详细指导您如何在Azure 100学生订阅中&#xff0c;利用Ubuntu虚拟机&#xff0c;通过Docker容器技术快速搭建PostgreSQL数据库。我们将从Docker和PostgreSQL的基础知识入手&#xff0c;逐步讲解部署过程中的每一个步骤&#xff0c;并提供完整的命令和配置文件示例。…

Python新春烟花

目录 系列文章 写在前面 技术需求 完整代码 下载代码 代码分析 1. 程序初始化与显示设置 2. 烟花类 (Firework) 3. 粒子类 (Particle) 4. 痕迹类 (Trail) 5. 烟花更新与显示 6. 主函数 (fire) 7. 游戏循环 8. 总结 注意事项 写在后面 系列文章 序号直达链接爱…

智能阅读时代:基于NLP的自动新闻摘要技术解析

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…

基于springboot社区老年人健康医疗信息服务系统

基于Spring Boot的社区老年人健康医疗信息服务系统是一种专为社区老年人设计的健康医疗信息服务解决方案。该系统结合了Spring Boot框架的强大后端能力和对老年人健康医疗信息的特殊需求&#xff0c;为社区老年人提供了全面、便捷的健康医疗服务。 一、系统背景与目的 随着人…

合并两个有序数组(88)合并两个有序链表(21)

88. 合并两个有序数组 - 力扣&#xff08;LeetCode&#xff09; 21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff08;88&#xff09;&#xff1a; class Solution { public:void merge(vector<int>& nums1, int m, vector<int>&…