当前位置: 首页 > news >正文

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、项目部署实战

http://www.lryc.cn/news/425964.html

相关文章:

  • 基于微信小程序的诗词智能学习系统的设计与实现(全网独一无二,24年最新定做)
  • httplib库:用C++11搭建轻量级HTTP服务器
  • 基于嵌入式C++、SQLite、MQTT、Modbus和Web技术的工业物联网网关:从边缘计算到云端集成的全栈解决方案设计与实现
  • Chapter 38 设计模式
  • Redis5主备安装-Redis
  • C++票据查验、票据ocr、文字识别
  • pytest.ini介绍
  • Vue项目打包成桌面应用
  • DEFAULT_JOURNAL_IOPRIO
  • 【阿卡迈防护分析】Vueling航空Akamai破盾实战
  • 使用AWS Lambda轻松开启Amazon Rekognition之旅
  • 如何获取VS Code扩展的版本更新信息
  • Python开源项目周排行 2024年第13周
  • day04--js的综合案例
  • 【产品经理】定价策略
  • webrtc学习笔记3
  • Transformer架构;Encoder-Decoder;Padding Mask;Sequence Mask;
  • 【leetcode详解】特殊数组II : 一题代表了一类问题(前缀和思想)
  • SQL每日一练-0814
  • Android持久化技术—文件存储
  • 动手学深度学习(pytorch)学习记录12-激活函数[学习记录]
  • 微服务实战系列之玩转Docker(十)
  • Mysql(四)---增删查改(进阶)
  • SOAP @WebService WSDL
  • 【Qt】QWidget的toolTip属性
  • 【操作系统】什么是进程?什么是线程?两者有什么区别(面试常考!!!)
  • AI -- Machine Learning
  • 了解交换机_1.交换机的技术发展
  • ubuntu 24.04 安装 Nvidia 显卡驱动 + CUDA + cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会!
  • 跟李沐学AI:目标检测的常用算法