FastAPI+Vue3零基础开发ERP系统项目实战课 20240815上课笔记 列表和字典相关方法的学习和练习
昨日回顾
- 1、大小写转换
- 2、去除空格
- 3、判断是否为数字
- 4、前缀后缀
昨日练习题进度
练习:判断验证码是否正确
- 1、生成一个由四个字符组成的验证码字符串,要求有大写有小写,要求左右两边有空格
- 2、打印到控制台
- 3、让用户输入这个验证码,用户输入的验证码左右两边可以有空格
- 4、判断用户输入的验证码是否正确,要求忽略大小写,比如 Abc 和 aBC 是相等的
遗留的问题
列表,字典,元组,集合,分支,循环,函数
2、Python面向对象:类,对象,方法,继承
3、FastAPI
4、MySQL8
5、SQLModel,和FastAPI框架是同一个作者,两者结合比较好用,但是学习成本较高,使用难度稍大
6、Vue3
7、Tailwindcss
8、Ant Design Vue,UI组件库
9、数据同步:有一个API,这个API提供了一些数据,需要在ERP系统中进行展示。
10、登录注册需要吗?需要
11、第三方平台管理:对接哪些接口平台飞书,钉钉,聚水潭等等
12、用户管理
13、Docker
14、Linux
15、Nginx
16、项目部署实战
字符串本质上是一个数组
所以,字符串:
- 1、有自己的长度,通过
len内置函数,能够获取字符串的长度,也就是字符的个数 - 2、有自己的索引,索引就是从0开始的有序整数,标识元素在数组中的位置
- 3、字符串是可以遍历的,可以通过for循环访问字符串中的每一个字符
长度示例
s1 = "123"
s2 = "a123"print(len(s1))
print(len(s2))
索引示例
s1 = "abc"print(s1[1])
遍历
s1 = "abc"for v in s1:print(v)
字符串可以通过切片的形式访问
什么是切片?
- 切片是从一个数组中同时按照一定的规律连续的提取一段元素
- 比如:
- 第1到8个元素
- 前3个元素
- 后5个元素
字符串是一种特殊的数组,所以字符串也可以通过切片的形式进行访问。
s1 = "abcdefghijklmnop"# 第1到8个元素 bcdefghi
print(s1[1:8 + 1])# 前3个元素
print(s1[:3])# 后5个元素
print(s1[-5:])
切片是可以跳着取值的
比如我们可以从abcde中直接截取出ace,每隔1个字符取。
切片的完整写法是 [开始索引:结束索引:步长]:
- 开始索引默认是0
- 结束索引默认是-1?这里之所以打问号是因为左闭右开的特点,如果是-1,最后一个值可能取不出来?所以这个结束索引的真实值应该是数组的长度
- 步长默认是1
s1 = "abcde"# 跳着取
print(s1[:])
print(s1[::])
print(s1[::1])
print(s1[::2]) # ace
关于切片结束索引默认值的测试
s1 = "abcde"# 默认值
print(s1[:]) # abcde# -1
print(s1[:-1]) # abcd 足以证明,结束索引默认值不是-1# 数组长度
print(s1[:len(s1)]) # abcde 所以,结束索引的默认值极可能是数组的长度
切片的步长可以负数
这个很特别,比如我之前遇到一道真实的面试题,要求将 abcdefg 给反序,变成 gfedcba。
s1 = "abcde"print(s1[::1]) # abcde
print(s1[::-1]) # edcba# 要拿到 a c e
print(s1[::2])# 要拿到 e c a
print(s1[::-2])
练习
有一个字符串,a1b2c3d4,要求把所有的数字提取出来。
s = "a1b2c3d4"
print(s[1::2])
练习
有一个字符串,a1b2c3d4,提取出4321。
s = "a1b2c3d4"
print(s[1::-2])
如何将字符串转换为整数
使用int内置函数可以将一个字符串数字转换为整数。
a = "1"
b = "2"print(a + b) # 字符串会拼接 12
print(int(a) + int(b)) # 数字相加 3
练习
有字符串 123456789,求这里面由奇数组成的数字和由偶数组成的数字,相加的结果是多少,以及这两个数字是多少。
s1 = "123456789"s2 = s1[::2]
s2 = int(s2)s3 = s1[1::2]
s3 = int(s3)print(s2)
print(s3)
print(s2 + s3)
列表
列表也是Python中非常重要的数据结构,可以把列表当成其他编程语言里面的数组或者动态数组来使用。
列表的增删改查
# 定义列表
arr = []# 追加数据
arr.append("a")
arr.append("b")
arr.append("c")
print(arr)# 通过索引访问数组元素
print(arr[0])# 修改
arr[0] = "aaa"
print(arr)# 删除
del arr[0]
print(arr)
练习
- 1、定义一个列表,用来存储姓名。
- 2、存储张三,李四,王五,通过索引访问王五。
- 3、将王五改成王六
- 4、删除李四
names = []
names.append("张三")
names.append("李四")
names.append("王五")names[2] = "王六"
del names[1]print(names)
字典
字典是一种key value类型的数据结构,key要求是不能重复的,可hash的。key一般是数字或者字符串。
基本的增删改查:
# 定义字典
d = {}# 追加数据
d["name"] = "张三"
d["age"] = 23
print(d)# 用户列表:[{name:xxx,age:xxx},{}]
# 修改,当这个key已经存在,就会发生修改
d["name"] = "张三333"
print(d)# 根据key查询
print(d["name"])# 根据key删除
del d["age"]
print(d)
列表和字典结合使用
比如用户列表:
# 用户列表
users = []# 增加用户:id,name,age => {id:1, name:张三, age: 23}
users.append({"id": 1,"name": "张三","age": 23,
})
users.append({"id": 2,"name": "李四","age": 24,
})
print(users)# 张三 改为 张三丰
users[0]["name"] = "张三丰"
print(users)# 删除李四
del users[1]
print(users)
有个问题?我们怎么通过Python代码找到李四的索引是多少?
字典,元组,集合,分支,循环,函数
2、Python面向对象:类,对象,方法,继承
3、FastAPI
4、MySQL8
5、SQLModel,和FastAPI框架是同一个作者,两者结合比较好用,但是学习成本较高,使用难度稍大
6、Vue3
7、Tailwindcss
8、Ant Design Vue,UI组件库
9、数据同步:有一个API,这个API提供了一些数据,需要在ERP系统中进行展示。
10、登录注册需要吗?需要
11、第三方平台管理:对接哪些接口平台飞书,钉钉,聚水潭等等
12、用户管理
13、Docker
14、Linux
15、Nginx
16、项目部署实战
相关文章:
FastAPI+Vue3零基础开发ERP系统项目实战课 20240815上课笔记 列表和字典相关方法的学习和练习
昨日回顾 1、大小写转换2、去除空格3、判断是否为数字4、前缀后缀 昨日练习题进度 练习:判断验证码是否正确 1、生成一个由四个字符组成的验证码字符串,要求有大写有小写,要求左右两边有空格2、打印到控制台3、让用户输入这个验证码&…...
基于微信小程序的诗词智能学习系统的设计与实现(全网独一无二,24年最新定做)
文章目录 前言: 博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为…...
httplib库:用C++11搭建轻量级HTTP服务器
目录 引言 一. httplib库概述 二. httplib核心组件 2.1 数据结构 2.2 类和函数 2.3 服务器搭建 编辑 结语 引言 在现代软件开发中,HTTP服务是网络应用的基础。对于需要快速搭建HTTP服务器或客户端的场景,使用成熟的第三方库可以极大提高开发效…...
基于嵌入式C++、SQLite、MQTT、Modbus和Web技术的工业物联网网关:从边缘计算到云端集成的全栈解决方案设计与实现
一、项目概述 1.1 项目目标与用途 随着工业4.0时代的到来,传统工业设备与现代信息技术的结合越来越紧密。物联网工业网关作为连接工业设备与云端平台的桥梁,在工业自动化、设备监控、远程运维等方面发挥着至关重要的作用。本项目旨在设计并实现一个能够…...
Chapter 38 设计模式
欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、单例模式二、工厂模式 前言 在软件开发中,设计模式提供了一种可重用的解决方案,以应对在特定环境中反复出现的问题。这些模式是基于经验总结…...
Redis5主备安装-Redis
本次Redis有两台服务器及3个独立IP:主服务器的ip地址是192.168.31.190,从服务器的IP地址是192.168.31.191,vipIP地址是192.168.31.216 主备方案承载Redis最大的好处是无需考虑Redis崩后无法访问。 前提是需要优先安装keepalived,…...
C++票据查验、票据ocr、文字识别
现在,80、90后的人们逐渐过渡为职场上的主力人员,在工作中当然也会碰到各种各样的问题。比如,当你的老板给你一个艰难的任务时,肯定是不能直接拒绝的。那么我们该怎么做呢?翔云建议您先认真考虑老板说的任务的难度&…...
pytest.ini介绍
1.pytest.ini是什么 ? pytest.ini文件是pytest的主配置文件;pytest.ini文件的位置一般放在项目的根目录下,不能随便放,也不能更改名字。在pytest.ini文件中都是存放的一些配置选项 ,这些选项都可以通过pytest -h查看到…...
Vue项目打包成桌面应用
Vue项目打包成桌面应用 一、使用 NW.js 打包 NW.js基于Chromium和Node.js。它允许您直接从浏览器调用Node.js代码和模块,并在应用程序中使用Web技术。此外,您可以轻松地将web应用程序打包为本机应用程序。 NW官网...
DEFAULT_JOURNAL_IOPRIO
/* * 这些是 CFQ(完全公平排队)实现的 I/O 优先级组。 RT 是实时类,它总是能获得优质服务。 BE 是尽力而为的调度类,是任何进程的默认类别。 IDLE 是空闲调度类,只有在没有其他人使用磁盘时才会被服务。 */ /* *…...
【阿卡迈防护分析】Vueling航空Akamai破盾实战
文章目录 1. 写在前面2. 风控分析3. 破盾实战 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…...
使用AWS Lambda轻松开启Amazon Rekognition之旅
这是本系列文章的第一篇,旨在通过动手实践,帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章,大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。 那么让我们开始今天的内容吧! 介绍 什么是Amazon Rekognition&…...
如何获取VS Code扩展的版本更新信息
获取VS Code 扩展的版本更新的需求 因为企业内部有架设私有扩展管理器的要求,但是对于一些官方市场的插件,希望可以自动获取这些扩展的更新并上传至私有扩展管理器。于是就有了本篇介绍的需求: 通过API的方式获取VS Code 扩展的更新。 关于…...
Python开源项目周排行 2024年第13周
#2024年第13周2024年8月5日1roop一款基于深度学习框架TensorFlow和Keras开发的单图换脸工具包,提供了丰富的功能和简洁易用的界面,使得用户可以轻松实现单图换脸操作。支持多张人脸替换成同一个人脸,勾选多人脸模式即可 人脸替换 高清修复自…...
day04--js的综合案例
1.1 商品全选 需求:商品全选 1. 全选 :点击全选按钮,所有复选框都被选中 2. 全不选 :点击全不选按钮,所有复选框都被取消选中 3. 反选 : 点击反选按钮,所有复选框状态取反 <!DOCTYPE html> <html lang"en">…...
【产品经理】定价策略
年初的时候,尝试自己独立运营了一个美团店铺,最终没有继续做下去了,原因是利润率太低,平台和骑手把利润拿走太多了,根本没有钱赚,烧钱搞流量更是深不见底。 不过也学到了很多东西,比如选品策略…...
webrtc学习笔记3
Nodejs实战 对于我们WebRTC项目而言,nodejs主要是实现信令服务器的功能,客户端和服务器端的交互我们选择websocket作为通信协议,所以以websocket的使用为主。 web客户端 websocket WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行…...
Transformer架构;Encoder-Decoder;Padding Mask;Sequence Mask;
目录 Transformer架构 Transformer架构的主要组成部分: 简单举例说明输入和输出: Encoder-Decoder 编码器/解码器组成 6、位置前馈网络(Position-wise Feed-Forward Networks) 7、残差连接和层归一化 10、掩码Mask 10.1 Padding Mask 10.2 Sequence Mask 为什么…...
【leetcode详解】特殊数组II : 一题代表了一类问题(前缀和思想)
前缀和的优势 给定一个数组,前缀和的特点在于,任意给出一对始末位置,能够用O(1)的时间复杂度得到始末位置之间所有元素的某种关系。 题型分析 这道题目正是“给出始末位置,检测其中元素特点”那一类,那我们就想&#…...
SQL每日一练-0814
今日SQL题难度:🌟☆☆☆☆☆☆☆☆☆ 1、题目要求 找出每个部门中薪资最高的员工显示部门ID、部门名称、员工ID、员工姓名以及对应的薪资 2、表和虚拟数据 现有两个表:Employees 和 Departments,记录了员工和部门信息。…...
QQ空间历史说说备份终极攻略:3步实现数据永久保存
QQ空间历史说说备份终极攻略:3步实现数据永久保存 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory GetQzonehistory是一款专为QQ空间用户设计的开源数据备份工具,…...
单细胞分群避坑指南:为什么你的CD4+T细胞总被污染?(含清洗技巧)
单细胞分群避坑指南:为什么你的CD4T细胞总被污染?(含清洗技巧) 在单细胞测序数据分析中,CD4T细胞的分群常常让研究者头疼不已。明明按照标准流程操作,为什么我的CD4T细胞群总是混入其他细胞?这…...
3步解锁全网资源:res-downloader实战手册
3步解锁全网资源:res-downloader实战手册 【免费下载链接】res-downloader 资源下载器、网络资源嗅探,支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.com/GitHub_Tren…...
8个智能脚本,让Illustrator设计效率提升10倍
8个智能脚本,让Illustrator设计效率提升10倍 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 设计效率的隐形杀手:你是否也在重复劳动? 每天花费…...
保姆级教程:用唯创知音WT588F02B语音芯片,从录音到烧录完整走一遍
零基础实战:WT588F02B语音芯片从录音到播放全流程解析 第一次接触语音芯片开发时,我被WT588F02B的易用性惊艳到了——不需要复杂的编程,只需准备好音频文件就能实现语音播放功能。但实际操作中,从录音到最终烧录成功,每…...
从‘距离’视角重新理解GAN:为什么Wasserstein距离能解决JS散度的缺陷?(附WGAN代码逐行解读)
从‘距离’视角重新理解GAN:Wasserstein距离如何突破JS散度的局限 想象你正在教一个机器人画家创作梵高风格的画作。传统方法中,艺术评论家(判别器)只能给出"像"或"不像"的二元评价,导致学习过程…...
AI超清画质增强镜像使用技巧:避免移动端适配的3个坑
AI超清画质增强镜像使用技巧:避免移动端适配的3个坑 1. 理解镜像的核心能力与限制 在移动端使用AI超清画质增强镜像前,必须清楚了解它能做什么、不能做什么。这个基于OpenCV EDSR模型的镜像,本质上是一个专注图像重建的轻量级服务。 1.1 核…...
零代码部署:用Ollama快速搭建TranslateGemma-4B翻译服务
零代码部署:用Ollama快速搭建TranslateGemma-4B翻译服务 1. 为什么选择TranslateGemma-4B Google推出的TranslateGemma-4B是目前最先进的轻量级开源翻译模型之一。这个基于Gemma 3架构的模型专为多语言翻译任务设计,支持55种语言的互译,特别…...
抖音批量下载终极指南:5分钟掌握免费视频资源整合技巧
抖音批量下载终极指南:5分钟掌握免费视频资源整合技巧 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 你是不是经常看到精彩的抖音视频想保存下来,却苦于一个个手动下载太麻烦&#x…...
当游戏语言成为障碍:如何用XUnity.AutoTranslator打破语言壁垒
当游戏语言成为障碍:如何用XUnity.AutoTranslator打破语言壁垒 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 想象一下,你终于等到了期待已久的日式角色扮演游戏,但打…...
