深度学习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')
相关文章:
深度学习python基础(第三节) 函数、列表
本节主要介绍函数、列表的基本语法格式。 函数 与c语言的函数差不多,就是语法基本格式不同。 name "loveyou" length len(name) print("字符串的长度为:%d" % length) # 自定义函数 def countstr(data):count 0for i in da…...
基于Python的多元医疗知识图谱构建与应用研究(上)
一、引言 1.1 研究背景与意义 在当今数智化时代,医疗数据呈爆发式增长,如何高效管理和利用这些数据,成为提升医疗服务质量的关键。传统医疗数据管理方式存在数据孤岛、信息整合困难等问题,难以满足现代医疗对精准诊断和个性化治疗的需求。知识图谱作为一种知识表示和管理…...
Spring Boot 快速创建项目
目录 一. 创建项目 编辑 二. 项目目录 三. 运行项目 (1) 启动项目 (2) 输出HelloWorld 一. 创建项目 我们以idea专业版为例创建Spring项目: 步骤: (1) File --> New --> Project (2) 配置项目基本信息 (3) 依赖: 需要什么就勾选什么. 我们这里就只勾选一个Spri…...
MySQL预编译语句过多告警排查
业务背景 在使用Spring Cloud Alibaba搭建的微服务架构中,项目采用ShardingSphere进行分库分表,MyBatis-Plus作为持久层。线上环境突发大量预编译语句过多的数据库告警,导致系统性能下降。 排查过程 1. 初步排查:联系云数据库厂…...
在centos上编译安装opensips【初级-默认安装】
环境:centos9 last opensips3.2 dnf update -y dnf install -y gcc make git automake libtool pcre-devel libxml2-devel \libcurl-devel postgresql-devel \bzip2-devel zlib-devel ncurses-devel libuuid-devel \libpcap-devel # 有报错的直接删除cd /usr/lo…...
偏序关系.
一、偏序(半序)关系 偏序关系 自反反对称传递性 二、全序(线序、链)关系 三、偏序集中的重要元素 1. 极大元与极小元 极大元找所在集合的一个或几个最高点; 极小元找所在集合的一个或几个最低点。 2. 最大元与最小…...
Node.js接收文件分片数据并进行合并处理
前言:上一篇文章讲了如何进行文件的分片:Vue3使用多线程处理文件分片任务,那么本篇文章主要看一下后端怎么接收前端上传来的分片并进行合并处理。 目录: 一、文件结构二、主要依赖1. express2. multer3. fs (文件系统模块)4. pat…...
设计模式概述 - 设计模式的重要性
引言 设计模式是软件工程中用于解决常见设计问题的经典解决方案。它们提供了一种标准化的方式来组织和设计代码,使得代码更易于理解、维护和扩展。在C编程中,设计模式尤为重要,因为它们可以帮助开发者应对复杂的系统设计,提高代码…...
OSI5GWIFI自组网协议层次对比
目录 5G网络5G与其他协议栈各层映射 5G网络 物理层 (PHY) 是 5G 基站协议架构的最底层,负责将数字数据转换为适合无线传输的信号,并将接收到的无线信号转换为数字数据。实现数据的编码、调制、多天线处理、资源映射等操作。涉及使用新的频段(…...
网络安全(渗透)
目录 名词解释 2、相互关系 3. 安全影响 名词解释 1、poc、exp、payload与shellcode POC(Proof of Concept): 是一种概念验证代码或演示程序,用于证明漏洞的存在。 主要目的是通过简单的代码或操作向安全研究人员、开发人员…...
Whisper-GPT:混合表征音频大语言模型
Whisper-GPT:混合表征音频大语言模型 当下,利用从神经压缩算法(例如#Encodec#)派生的离散音频标记的生成式音频、语音以及音乐模型数量激增。然而,这种方法的主要缺陷之一在于对上下文长度的处理。如果必须考虑所有不同频率的音频内容才能进行下一个标记预测,那么高保…...
科技重塑未来:前沿技术趋势、跨领域融合与社会影响深度洞察
目录 科技重塑未来:前沿技术趋势、跨领域融合与社会影响深度洞察引言一、前沿技术趋势洞察与分析1. 人工智能与自动化1.1 趋势分析1.2 挑战分析 2. 区块链技术2.1 趋势分析2.2 挑战分析 3. 量子计算3.1 趋势分析3.2 挑战分析 二、跨领域技术融合与创新实践1. AI与大…...
深度学习:大模型Decoding+MindSpore NLP分布式推理详解
大模型推理流程 1. 用户输入提示词(Prompt) 假设用户输入为:“从前,有一只小猫,它喜欢……” 我们的目标是让模型生成一段完整的故事。 2. 模型处理用户输入 2.1 分词:输入提示被分词为模型可以理解的…...
GESP6级语法知识(二):动态规划算法(二)
最小路径和; //最小路径和 #include<iostream> using namespace std; const int N100; int dp[N][N],value[N][N]; int n,m; int main() {cin>>n>>m;for(int i1;i<n;i) //录入初始数字矩阵 for(int j1;j<m;j)cin>>value[i][j];for(int i1;i…...
数据结构与算法之递归: LeetCode 79. 单词搜索 (Ts 版)
单词搜索 https://leetcode.cn/problems/word-search/description/ 描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 单词必须按照字母顺序,通过相邻的单…...
智能系统的感知和决策
智能系统在感知和决策过程中具备的关键能力表现在智能感知/自主判定上,下面可以从感知的本质、自主判断的含义及其在智能系统中的作用进行深入分析。 1、智能感知:信息获取与理解 智能感知是指智能系统通过传感器或其他数据采集手段获取环境中的信息&…...
多线程之旅:线程安全问题
之前说到了多线程的创建和一些属性等等,接下来,就来讲讲多线程安全问题。 小编引入这段代码讲解下: public class Demo13 {public static int count0;public static void main(String[] args) throws InterruptedException {Thread t1new…...
用java配合redis 在springboot上实现令牌桶算法
令牌桶算法配合 Redis 在 Java 中的应用令牌桶算法是一种常用的限流算法,适用于控制请求的频率,防止系统过载。结合 Redis 使用可以实现高效的分布式限流。 一.、引入依赖首先,需要在 pom.xml 文件中引入 spring-boot-starter-data-re…...
科学计算库NumPy
NumPy是高性能科学计算和数据分析的基础包。 认识NumPy数据对象 n维数组对象ndarray(array) 数组是编程语言中重要且复杂的数据结构,它是由相同类型元素按照一定的顺序排列的集合。ndarray具有矢量算术能力和复杂的广播能力。 - 维度又称为维数,在数学…...
【大数据】机器学习----------强化学习机器学习阶段尾声
一、强化学习的基本概念 注: 圈图与折线图引用知乎博主斜杠青年 1. 任务与奖赏 任务:强化学习的目标是让智能体(agent)在一个环境(environment)中采取一系列行动(actions)以完成一个…...
Unicode不可见字符
场景复现 在访问 https://dotnet.microsoft.com/zh-cn/apps/aspnet地址时 突然出现 https://dotnet.microsoft.com/zh-cn/apps/aspnet%E2%80%8C%E2%80%8C 但是正常来看,这个地址后面是没有%E2%80%8C%E2%80%8C的,粘贴到idea里发现了url地址后面还拼接了2…...
w172二手车交易系统的设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
TRELLIS微软的图生3D
TRELLIS 教程目录: Youtube:https://www.youtube.com/watch?vJqFHZ-dRMhI 官网地址:https://trellis3d.github.io/ GitHub:https://github.com/Microsoft/TRELLIS 部署目录: 克隆项目 git clone --recurse-submodul…...
【力扣:新动计划,编程入门 —— 题解 ①】
向前看,总会有新的故事值得期盼 —— 25.1.21 2235. 两整数相加 给你两个整数 num1 和 num2,返回这两个整数的和。 示例 1: 输入:num1 12, num2 5 输出:17 解释:num1 是 12,num2 是 5 &#x…...
如何使用 Pytest -k 选项轻松筛选测试用例
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 你是否曾不得不从成百上千个测试中费力筛选,只为运行几个特定的测试&am…...
C语言之小型成绩管理系统
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 C语言之小型成绩管理系统 目录 设计题目设计目的设计任务描述设计要求输入和输出要求验收要…...
C++ ——— 模拟实现 vector 类
目录 vector 类的框架 无参数的构造函数 析构函数 获取有效数据个数 获取容量 重载 [] 运算符 可读可写版本 只可读版本 扩容 尾插 实现迭代器 可读可写版本 只可读版本 自定义设置size长度和内容 在任意位置插入 删除任意位置的数据 赋值重载 vector 类的框…...
SpringBoot实现轻量级动态定时任务管控及组件化
1关于动态定时任务 关于在SpringBoot中使用定时任务,大部分都是直接使用SpringBoot的Scheduled注解,如下: Component public class TestTask {Scheduled(cron"0/5 * * * * ? ") //每5秒执行一次public void execute(){SimpleDa…...
STM32 FreeRTOS 任务挂起和恢复---实验
实验目标 学会vTaskSuspend( )、vTaskResume( ) 任务挂起与恢复相关API函数使用: start_task:用来创建其他的三个任务。 task1:实现LED1每500ms闪烁一次。 task2:实现LED2每500ms闪烁一次。 task3:判断按键按下逻辑,KE…...
#漏洞挖掘# 一文了解什么是Jenkins未授权访问!!!
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...
1.21学习记录
misc 2023isctf 你说爱我尊嘟假嘟 这题有点脑洞,需要把你说爱我换成Ook.将尊嘟换为Ook!假嘟换成Ook?(根据语气进行猜测吧)用在线工具解密最后用base64解密即可 2023isctf 杰伦可是流量明星 解压后是一个MP3文件&am…...
【Pandas】pandas Series groupby
Pandas2.2 Series Function application, GroupBy & window 方法描述Series.apply()用于将一个函数应用到 Series 的每个元素或整个 SeriesSeries.agg()用于对 Series 数据进行聚合操作Series.aggregate()用于对 Series 数据进行聚合操作Series.transform()用于对 Series…...
Text2SQL 智能报表方案介绍
0 背景 Text2SQL智能报表方案旨在通过自然语言处理(NLP)技术,使用户能够以自然语言的形式提出问题,并自动生成相应的SQL查询,从而获取所需的数据报表,用户可根据得到结果展示分析从而为结论提供支撑&#…...
51c~SLAM~合集1
我自己的原文哦~ https://blog.51cto.com/whaosoft/12327374 #GSLAM 自动驾驶相关~~~ 一个通用的SLAM架构和基准 GSLAM:A General SLAM Framework and Benchmark 开源代码:https://github.com/zdzhaoyong/GSLAM SLAM技术最近取得了许多成功&am…...
服务器安装ESXI7.0系统及通过离线包方式升级到ESXI8.0
新到了一台物理服务器需要安装系统,项目不急用,先拿来做些实验。 本次实验目标: 1、在物理服务器上安装ESXI7.0系统; 2、通过离线包升级方式将ESXI7.0升级为ESXI8.0。 实验环境准备: 物理服务器1台,型号…...
计算机网络 (52)秘钥分配
一、重要性 在计算机网络中,密钥分配是密钥管理中的一个核心问题。由于密码算法通常是公开的,因此网络的安全性主要依赖于密钥的安全保护。密钥分配的目的是确保密钥在传输过程中不被窃取或篡改,同时确保只有合法的用户才能获得密钥。 二、方…...
xctf-comment(Intruder,git恢复,SQL注入,Hex解码)
这题是2018年网鼎杯真题,考察 Burp Suite 的 Intruder 模块去找用户密码,使用 githacker 恢复代码(githack不行),代码审计发现SQL二次注入,尝试SQL注入读取文件内容,读取的是/home/www/.bash_hi…...
Docker Compose创建镜像服务
什么是Docker Compose 使用Docker Compose,可以使用YAML配置文件(称为Compose文件)来配置应用程序的服务,然后使用Compose CLI从配置中创建并启动所有服务 。 Compose文件的默认路径是compose.yaml(首选)…...
kafka学习笔记5 PLAIN认证——筑梦之路
在Kafka中,SASL(Simple Authentication and Security Layer)机制包括三种常见的身份验证方式: SASL/PLAIN认证:含义是简单身份验证和授权层应用程序接口,PLAIN认证是其中一种最简单的用户名、密码认证方式&…...
Walrus Learn to Earn计划正式启动!探索去中心化存储的无限可能
本期 Learn to Earn 活动将带领开发者和区块链爱好者深入探索 Walrus 的技术核心与实际应用,解锁分布式存储的无限可能。参与者不仅能提升技能,还能通过完成任务赢取丰厚奖励!🌊 什么是 Walrus? 数据主权如今正成为越…...
Linux学习笔记
1、什么是Linux Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GUN套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统。它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用…...
解锁电商设计新速度:StartAI插件制作产品图实操教程
在电商设计这片竞争激烈的战场上,每一位设计师都在追求高效与创意的完美融合。繁琐的背景抠图、单一的设计模板、紧迫的时间周期,常常让我们力不从心。但现在,StartAI插件的问世,为我们的设计之路带来了革命性的改变。下面&#x…...
AutoPrompt框架和实操:如何用AutoPrompt完成电影评论和聊天审核任务?
1. AutoPrompt框架概述 1.1 框架定义与目标 AutoPrompt是一个旨在提升和完善用户提示以适应现实世界用例的提示优化框架。该框架通过迭代生成具有挑战性的边缘案例数据集,并相应地优化提示,从而自动生成针对用户意图量身定制的高质量、详细的提示。其核心目标是利用大型语言…...
修复 Kubernetes Deployment 修改后未生效的问题
在 Kubernetes 集群中,当尝试修改某些 Deployment 资源(如 calico-kube-controllers)的 image 配置时,发现修改总是未生效,并恢复到原样。这种问题通常是因为 Deployment 资源受到其他控制器(如 Operator&a…...
Excel 技巧17 - 如何计算倒计时,并添加该倒计时的数据条(★)
本文讲如何计算倒计时,并添加该倒计时的数据条。 1,如何计算倒计时 这里也要用公式 D3 - TODAY() 显示为下面这个样子的 然后右键该单元格,选 设置单元格格式 然后点 常规 这样就能显示出还书倒计时的日数了。 下拉适用到其他单元格。 2&a…...
Golang Gin系列-5:数据模型和数据库
在这篇Gin教程的博客中,我们将探索如何将模型和数据库与Gin框架无缝集成,使你能够构建健壮且可扩展的web应用程序。通过利用流行的库并遵循最佳实践,你将学习如何定义模型、建立数据库连接、执行CRUD操作以及确保基于gin的项目中的数据完整性…...
Android系统开发(十九):无缝拉伸的艺术——9-Patch 可绘制对象详解
引言 在移动开发中,背景、标题以及其他界面元素的设计质量直接影响用户体验。然而,如何让图片适应不同分辨率设备,成为开发者常常头疼的问题。这时,9-Patch 闪亮登场!它不仅可以无缝拉伸,还能保持视觉效果…...
物联网网关Web服务器--CGI开发实例BMI计算
本例子通一个计算体重指数的程序来演示Web服务器CGI开发。 硬件环境:飞腾派开发板(国产E2000处理器) 软件环境:飞腾派OS(Phytium Pi OS) 硬件平台参考另一篇博客:国产化ARM平台-飞腾派开发板…...
计算机网络 (51)鉴别
前言 计算机网络鉴别是信息安全领域中的一项关键技术,主要用于验证用户或信息的真实性,以及确保信息的完整性和来源的可靠性。 一、目的与重要性 鉴别的目的是验明用户或信息的正身,对实体声称的身份进行唯一识别,以便验证其访问请…...
Mellanox ConnectX 系列网卡的双驱动架构:以太网与 InfiniBand 的协同设计
在现代数据中心和高性能计算(HPC)环境中,网络硬件的性能和功能至关重要。Mellanox ConnectX 系列网卡以其卓越的性能和多功能性而闻名,支持从传统的以太网到高性能的 InfiniBand 网络协议。这种多功能性使得 Mellanox 网卡能够满足不同应用场景的需求,从常规的数据中心网络…...