简单的阿里云建设网站,wordpress 简洁模板,情侣建站的wordpress主题,网站建设禁止性规定测试开发系列课程1.完善程序思维--------案列#xff1a;图书管理系统的创建**#xff08;一#xff09;图书管理系统的创建**1.完善程序思维--------案列#xff1a;图书管理系统的创建
#xff08;一#xff09;图书管理系统的创建
1.在main中写入主函数#xff0c;…
测试开发系列课程1.完善程序思维--------案列图书管理系统的创建**一图书管理系统的创建**1.完善程序思维--------案列图书管理系统的创建
一图书管理系统的创建
1.在main中写入主函数主功能 :print(*************************欢迎进入图书管理系统********************)print(1.显示所有图书\n2.添加图书\n3.删除图书\n4.查找图书\n5.退出)print(****************************************************************)#3
def get_choose_number():获得用户输入的菜单编号choose_number input(请输入菜单编号:)# input输入返回的是一个str所以要转化为num需要做一个强制转化#做个判断如果编号不是数字 或者 不是 12345 返回 -1#判断是否要转换,isdigit会自动判断返回的是不是数字,不是返回-1是的话返回输入的数字并用int把str类型转化成num类型if not choose_number.isdigit() or choose_number not in [1,2,3,4,5]:return -1return int(choose_number)#2
def main():while True:# 写了了2的判断这就可以开始调用了welcome()number get_choose_number()if number -1:print(输入有误请重新输入)continueif number 1:passelif number 2:passelif number 3:passelif number 4:passelse:breakif __name__ __main__:main()思考逻辑
2.在book中谢如要达成的book目的 init:
初始化方法即__init__方法是Python中的一种特殊方法它用于在创建类的新实例时初始化该实例的属性。在类中定义初始化方法后当我们创建该类的新实例时Python会自动调用该方法并将实例本身即self作为第一个参数传递给它。这使我们可以使用self来访问实例的属性并将它们初始化为特定的值。例如如果我们有一个表示图书的类我们可以使用初始化方法来初始化该类实例的属性例如书的名称作者出版日期等。初始化方法的好处是可以在创建对象时为其属性提供默认值也可以让我们传递参数来初始化对象的属性。这样在创建对象时就不需要手动为每个属性设置初始值了。这样可以让代码更加简洁和易于维护。因此初始化方法是一种非常有用的方法它使我们能够轻松地初始化类的实例并在实例化时提供自定义属性值。boject:
在Python中所有的类都是从object类继承而来的。object是Python中的一个基类它定义了所有类共有的一些基本属性和方法。在Python3中即使没有显式继承objectPython也会默认地将所有类看作是从object类继承而来的。object类的作用包括以下几个方面提供默认的构造函数在Python中如果一个类没有显式定义__init__方法Python会自动提供一个默认的构造函数它来自object类。提供一些基本的魔术方法例如__new__、del、__repr__等。这些魔术方法是Python中的一些特殊方法它们可以在类的实例化、删除、打印等过程中自动调用从而方便我们进行一些特殊的操作。提供一些基本的方法和属性例如__class__、doc、hash、__str__等。这些方法和属性都是从object类继承而来的它们可以用于获取类的信息、实例的信息等。因此object类是Python中非常重要的一个基类它为所有类提供了一些基本的属性、方法和行为使得我们可以更加方便地进行类的定义和使用。# 1.写一个书的类,包含3个属性编号名字位置
class Book(object):def __init__(self, num, name, position):self.num numself.name nameself.position position这是一个Python类中的特殊方法__str__它用于将对象转换为字符串形式。当我们使用print函数打印一个对象时Python会自动调用该对象的__str__方法来将对象转换为字符串然后打印出来。在这个特定的方法中self代表当前实例对象可以使用self来访问实例的属性。在这个方法中它返回了一个包含实例属性的字符串其中{book.num}、{book.name}和{book.position}是字符串格式化表达式用于获取该实例的num、name和position属性的值并将它们放入字符串中。例如如果我们有一个Book类的实例对象book当我们使用print(book)时Python会自动调用该对象的__str__方法并返回一个包含num、name和position属性值的字符串。因此我们可以使用以下代码来打印该对象的属性值def __str__(self):return f{self.num}\t{self.name}\t{self.position}\tclass BookManage(object):book_list []def show_book(self):显示所有图书for book in self.book_list:print()def add_book(self,book:Book): #book:Book book是变量Book是类型 python3的新语法在某个变量中添加新的类型这个类型是Book; 作用看代码更明白 这是个Book类型原来书单里面是空的book_lis需要在里面添加一些书self.book_list.append(book)#其他关于 变量 : 类型 的列子# def f1(s:str):
# return s.lower()
#
# def f2(s):
# return s.
# 本页运行如果你的脚本名字倍主函数运行赋值可以在本页脚本运行
if __name__ __main__:book Book(1, 边城浪子, 1号架2层)print(book)
在book中书写的代码 优化后的book代码
3再去main里面写添加图书和显示图书的调用逻辑 运行查看 1最开始输入1的时候还是显示全部的编号因为还没有 开始增加图书
2输入2进行增加图书 思考步骤1.要做个图书管理系统先考虑他的界面进入导航栏目条线写一个welcome方法2.在写一个主函数运行的选项 main方法3.要运行就要用户输入在运行前线进行输入写一个get_choose_numeber方法# 1
from dev_01day.book import Book, BookManagedef welcome():print(*************************欢迎进入图书管理系统********************)print(1.显示所有图书\n2.添加图书\n3.删除图书\n4.查找图书\n5.退出)print(****************************************************************)# 3
def get_choose_number():获得用户输入的菜单编号choose_number input(请输入菜单编号:) # input输入返回的是一个str所以要转化为num需要做一个强制转化# 做个判断如果编号不是数字 或者 不是 12345 返回 -1# 判断是否要转换,isdigit会自动判断返回的是不是数字,不是返回-1是的话返回输入的数字并用int把str类型转化成num类型if not choose_number.isdigit() or choose_number not in [1, 2, 3, 4, 5]:return -1return int(choose_number)# 2
def main():bm BookManage() # 创建一个用来管理图书的对象叫做bmwhile True:# 写了了2的判断这就可以开始调用了welcome()number get_choose_number()if number -1:print(输入有误请重新输入)continueif number 1:bm.show_book()elif number 2:num input(请输入书的编号:)book_name input(请输入书名:)book_position input(请输入位置:)# 创建一个对象---具体的书book Book(num, book_name, book_position)# print(book)bm.add_book(book)elif number 3:passelif number 4:passelse:breakif __name__ __main__:main()
这里犯了一次错误在BookMange中的show_book没有在print打印具体的书print(book)导致在main中运行了2后再运行1不会显示书名。