对py作业的一个复盘

这段时间去学了会py,写了一个小作业。今日复盘总结一下。

这个作业题目是这样的:

对于我这种小白来说,初看还是有点懵的。分几步来看在结合ai的辅助,还是勉强可以作出来的。

1.要搞懂怎么去创建每本图书的基本属性

这点其实是很重要的。首先你的创建好后后面的功能才有实现的可能。这里采用的就是类的写法

这里主要就是定义了书的一些属性,让你在下面去定义一本书时就可以在其中去取属性就行了。

下面我想的就是去初始化一些书,那既然我们要初始化一些书的话,我们是不是就需要去有个空间去存取。那我们就需要在外面去定义一个列表。因为列表是按下标来存取的,所以我们就按照下标去分别赋值就行。你只需应用类的属性,在后面给每个属性分别赋值即可。

接下来就是分别封装函数来赋予其功能了。

2.添加图书

这里若你想要用户有较好的体验,就需要用一个循环,避免用户去输入输入一些无法识别的东西然后直接返回菜单了。这里就要考虑的就是用户会不会正确的去输入四个参数,或者是添加的图书会不会和已有的图书编号重复了,或者就是在输入最后书的数量时用户会不会给你输入一个字母啥的,造成失败。这些都应该是我们应该考虑的。那再这里我学会了当你要分割四个参数时你要这样写:

复制代码
part = user.split(",")

这样就将4个参数分开分别放在part这个新建列表中了。后面再分别用变量去读取即可。后面通过循环列表来观察是否其中有编号重复。想循环列表也很简单:

复制代码
for 变量名 in 列表名:

这就可以循环整个列表,直到读取不到空间。后面的判断数量是不是数字的话,就要用到try.....except:.... except后面跟的是不同的异常类型。再后面当你要将书存入列表时,这时候就要去循环列表下标,将数据存入。具体代码如下:

3.查询书

这里其实就有一点要特别记住的就是:模糊查找

复制代码
变量1 in 变量2 

一般来说我们都是==来去让两个相等时去打印出书。改成in后只要用户输入的变量1存在变量2中,就会显示出来。要主要这个得在字符串中才行。代码附上:

4.删除图书

py的列表中当你赋予某一个为None时,剩下的就会自动补齐上来了!

5.保存文件

这里采用的时json文件存法。这是真用ai才懂还有这种好方法。

有几大好处:

1.数据可以永远保存

2.格式简单,让人一眼就可以看懂,像这样:

复制代码
[
{
      列表[0]的属性
}
{
      列表[1]的属性
}
]

3.步骤简单,分两步就搞定,将列表存入文件,将文件读回列表。

4.方便做增删

5.可跨文件语言

由于json文件不认识类对象,所以我们要转为字典存入。我本来存在al中的就是类对象,json看不懂,这时我们就需要新建一个列表,将其转为字典在存入即可。json和正常文件的存入是一样的。但要加入一个核心的函数即:

复制代码
json.dump()

这里面的第一个参数放的是你要存入这个json文件的数据变量名。这样就好了。

6.把保存的数据取出

这里有一步关键的就是json.load将json文件中的数据取出来然后转成py能读懂的方式。

7.运行程序

这里就要使用到一个

复制代码
if __name__ == "__main__":

这个是py自带的一个运行代码,写入即可。

通过这个还是学会了很多知识,还是很有用的。

相关推荐
weelinking4 小时前
【2026】08_Claude与版本控制:Git协作技巧
数据库·人工智能·git·python·数据挖掘·交互·cloudera
踩着两条虫9 小时前
「AI + 低代码」的可视化设计器
开发语言·前端·低代码·设计模式·架构
JoneBB9 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
scan7249 小时前
智能体多个工具调用
python
2401_867623989 小时前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
即使再小的船也能远航9 小时前
【Python】安装
开发语言·python
weixin_421725269 小时前
Linux 编程语言全解析:C、C++、Python、Go、Rust 谁更强?
linux·python·go·c·编程语言
Irissgwe9 小时前
类与对象(三)
开发语言·c++·类和对象·友元
没有梦想的咸鱼185-1037-166310 小时前
AI-Python机器学习、深度学习核心技术与前沿应用及OpenClaw、Hermes自动化编程
人工智能·python·深度学习·机器学习·chatgpt·数据挖掘·数据分析
雪度娃娃10 小时前
转向现代C++——优先选用nullptr而不是0和NULL
开发语言·c++