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

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

函数    

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

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))

函数的基础定义语法

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

函数的参数

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

设计一个考研上岸函数

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

函数返回值

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

None类型

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

函数的说明文档  

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

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

函数的嵌套调用  

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

变量在函数中的作用域

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

函数的综合案例

"""
简要设计银行存取款业务
包括主菜单: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)  。

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

列表的定义格式

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

列表的嵌套定义

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

列表的下表索引取出元素

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

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

列表的常用操作

查找某元素下标

"""
插入元素
删除元素
清空列表
修改元素
统计元素个数列表的方法
"""
"""
查找某元素下标,如果找不到,报错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") # 报错,元素不存在

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

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

插入元素

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

追加元素

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

追加一批元素

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

删除元素

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

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

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

清空列表内容

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

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

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

统计列表内,有多少元素

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

列表的遍历  

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

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

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.rhkb.cn/news/5258.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 FreeROTS Tickless低功耗模式

低功耗模式简介 FreeRTOS 的 Tickless 模式是一种特殊的运行模式&#xff0c;用于最小化系统的时钟中断频率&#xff0c;以降低功耗。在 Tickless 模式下&#xff0c;系统只在有需要时才会启动时钟中断&#xff0c;而在无任务要运行时则完全进入休眠状态&#xff0c;从而降低功…

65,【5】buuctf web [SUCTF 2019]Upload Labs 2

进入靶场 1,源代码 点击题目时有个就有个admin.php <?php // 引入配置文件 include config.php;class Ad{public $cmd;public $clazz;public $func1;public $func2;public $func3;public $instance;public $arg1;public $arg2;public $arg3;// 构造函数&#xff0c;用于初…

Apache Tomcat文件包含漏洞复现(详细教程)

1.漏洞原理 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;其安装后会默认开启ajp连接器&#xff0c;方便与其他web服务器通过ajp协议进行交互。属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发…

springboot基于安卓的智启教育服务平台app

基于Spring Boot的智启教育服务平台App是一个结合了Spring Boot后端框架与安卓前端技术的综合性教育服务平台。 一、技术背景与架构 1.开发语言&#xff1a;后端采用Java语言开发&#xff0c;充分利用Java的跨平台性、面向对象特性和强大的后端处理能力。前端则使用安卓开发技…

我的创作纪念日,纪念我的第512天

目录 年末 年初 入围 博客 变动 生活 期待 年末 很快&#xff0c;2024年已经过去了&#xff0c;本想在跨年夜的时候营造一点小小的仪式感&#xff0c;结果也因为身体的原因放弃了&#xff0c;浑身感觉疼痛&#xff0c;躺在床上&#xff0c;闭上眼睛&#xff0c;什么也不…

2025/1/21 学习Vue的第四天

睡觉。 --------------------------------------------------------------------------------------------------------------------------------- 11.Object.defineProperty 1.在我们之前学习JS的时候&#xff0c;普通得定义一个对象与属性。 <!DOCTYPE html> <h…

卸载和安装Git小乌龟、git基本命令

卸载 Git 打开控制面板&#xff1a; 按 Win R 打开运行对话框&#xff0c;输入 control 并按回车键。或直接在功能搜索里搜索“控制面板”。在控制面板中&#xff0c;选择“程序”或“程序和功能”。 查找并卸载 Git&#xff1a; 在程序列表中找到“Git”或“Git for Windows…

OSI5GWIFI自组网协议层次对比

目录 5G网络5G与其他协议栈各层映射 5G网络 物理层 (PHY) 是 5G 基站协议架构的最底层&#xff0c;负责将数字数据转换为适合无线传输的信号&#xff0c;并将接收到的无线信号转换为数字数据。实现数据的编码、调制、多天线处理、资源映射等操作。涉及使用新的频段&#xff08…

ThinkPHP 8的多对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…

可视化-numpy实现线性回归和梯度下降法

代码如下&#xff1a; import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib.patches import Patch# 生成二维输入数据 np.random.seed(0) X1 2 * np.random.rand(100, 1) # 第一个特征 X2 3 * np.random.rand(10…

python_在钉钉群@人员发送消息

python_在钉钉群人员发送消息 1、第一种 企业内部机器人群聊实现人接入指南&#xff0c;适用于群机器人接收消息&#xff0c;处理完一系列的动作之后&#xff0c;将消息返回给发消息的人员&#xff0c;同时该人员。 需要在企微后台新建一个自建应用&#xff0c;在自建应用里…

递归练习六(普通练习11-15)

一、例题 1、有效数独 36. 有效的数独 - 力扣&#xff08;LeetCode&#xff09; 2、填数独 37. 解数独 - 力扣&#xff08;LeetCode&#xff09; 3、单词搜索 79. 单词搜索 - 力扣&#xff08;LeetCode&#xff09; 4、黄金矿工 1219. 黄金矿工 - 力扣&#xff08;LeetCod…

【生产力工具】ChatGPT for Windows桌面版本安装教程

使用桌面版的ChatGPT目前可解决官方轻微降智的问题。 文章目录 准备安装步骤步骤 1: 更改系统区域设置步骤 2: 关闭系统代理&#xff08;如果你正在使用的话&#xff09;步骤 3: 启动EXE文件步骤 4: 完成安装 准备 下载并保存好 ChatGPT桌面版的EXE安装文件。 下载地址1&…

兼职全职招聘系统架构与功能分析

2015工作至今&#xff0c;10年资深全栈工程师&#xff0c;CTO&#xff0c;擅长带团队、攻克各种技术难题、研发各类软件产品&#xff0c;我的代码态度&#xff1a;代码虐我千百遍&#xff0c;我待代码如初恋&#xff0c;我的工作态度&#xff1a;极致&#xff0c;责任&#xff…

【ESP32】ESP32连接JY61P并通过WIFI发送给电脑

前言 手头上有个ESP32&#xff0c;发现有wifi功能&#xff0c;希望连接JY61P并通过WIFI把姿态数据发送给电脑 1.采用Arduino IDE编译器&#xff1b;需要安装ESP32的开发板管理器&#xff1b; 2.电脑接受数据是基于python的&#xff1b; 1. ESP32 连接手机WIFI #include <…

第23篇 基于ARM A9处理器用汇编语言实现中断<五>

Q&#xff1a;怎样修改HPS Timer 0定时器产生的中断周期&#xff1f; A&#xff1a;在上一期实验的基础上&#xff0c;可以修改按键中断服务程序&#xff0c;实现红色LED上的计数值递增的速率&#xff0c;主程序和其余代码文件不用修改。 实现以下功能&#xff1a;按下KEY0…

E-Prime2实现List嵌套

用E-Prime实现一个简单的List嵌套&#xff0c;实验流程基于斯特鲁程序&#xff08;色词一致/不一致实验&#xff09;。 首先File-New&#xff0c;新建一个空白项目 此时生成流程如下 Experiment Object是实验中被用到的流程或者控件对象&#xff0c;SessionProc是总流程&#x…

JS宏进阶:正则表达式的使用

正则表达式&#xff0c;对于任何一门编程语言来说&#xff0c;都是一种非常强大的工具&#xff0c;主要用于搜索、编辑或操作文本和数据。因此&#xff0c;在JS中&#xff0c;也存在相应的对象new RegExp( )&#xff0c;在本章中&#xff0c;将详细介绍正则表达式在JS宏中的运用…

在 Kubernetes 上快速安装 KubeSphere v4.1.2

目录标题 安装文档配置repo安装使用插件 安装文档 在 Kubernetes 上快速安装 KubeSphere 配置repo export https_proxy10.10.x.x:7890 helm repo add stable https://charts.helm.sh/stable helm repo update安装 helm upgrade --install -n kubesphere-system --create-name…

细说STM32F407单片机电源低功耗StopMode模式及应用示例

目录 一、停止模式基础知识 1、进入停止模式 2、停止模式的状态 3、退出停止模式 4、SysTick定时器的影响 二、停止模式应用示例 1、示例功能和CubeMX项目配置 &#xff08;1&#xff09;时钟 &#xff08;2&#xff09;RTC &#xff08;3&#xff09;ADC1 &#xf…