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,记录了员工和部门信息。…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...