接触python有一段时间了,今天综合的写了一个小例子,凑合着可以使用,如果有时间的话可以更好的把程序按MVC的方式设计一下,这样以来通用性会更好,或者做成GUI的方式+数据库,这样更人性化.
项目介绍:一个基于python控制台,完成的增删改查一个小例子,提供的方式都比较简单,适合新手学习一下,可以和Java做个对比。
用到的知识:
1,python的面向对象类和方法,构造方法,变量的使用
2,导包,导类的使用
3,使用字典模拟python中的switch语句
4,使用exec执行字符串命令,类似shell里面的``操作符,javascript里面的eval()方法
5,list和字典存储容器
6,if,else和for,range流程控制和循环的使用
7,python里面的睡眠函数类似java里的sleep,以及python里面的exit函数
8,python里面读取函数的使用,和字符串转整形的命令的使用
源码如下:
class Student:
id="1"
name="name"
age=12
def __init__(self,id,name,age):
self.id=id
self.name=name
self.age=age
def __str__(self):
#print(self.id,self.name,self.age)
return str(self.id)+" "+self.name+" "+str(self.age)
核心的操作类如下:
import time
import sys
#import stt.student as a
#然后a.Student()实例化对象
#同级可以直接导入
from student import Student
#不同级目录可以这样写
from stt.student import Student
def initialDatas():
j=list();
s1=Student(33,"张三1",221)
s2=Student(45,"张三2",24)
s3=Student(13,"张三3",18)
s4=Student(40,"张三4",10)
s5=Student(5,"张三5",19)
j.append(s1)
j.append(s2)
j.append(s3)
j.append(s4)
j.append(s5)
return j
d=initialDatas()
def end():
print("欢迎下次使用^_^!!!")
sys.exit(0)
def showAll():
for v in range(len(d)):
print(v+1,d[v])
def switch(key):
t = {
"1": "showAll()",
"2": "add()",
"3": "delete()",
"4": "update()",
"5": "end()"
}
s=t.get(key)
#print("kkk: ",s)
exec(s)
select()
def add():
id=input("请输入id:")
name=input("请输入名字: ")
age=input("请输入年龄: ")
d.append(Student(id,name,age))
print("添加成功!!!")
def delete():
id=int(input("请输入要删除的id号:"))
for v in d:
if (v.id == id) :
print("找到了:",v)
d.remove(v)
print("删除成功!")
def update():
id=int(input("请输入要修改的id:"))
for v in range(len(d)):
if(d[v].id == id):
#print("找到 :", d[v])
d[v].name=input("请输入新的名字:")
d[v].age=int(input("请输入新的年龄: "))
print("修改成功!")
return
if (v==(len(d)-1)):
print("对不起,没有找到数据,请核对!")
def select():
print("1,查看所有")
print("2,新增一条")
print("3,删除一条")
print("4,修改一条")
print("5,退出程序")
#time.sleep(1)
choice=input("请选择功能:")
switch(choice)
select()
运行内容如下:
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:1
1 33 张三1 221
2 45 张三2 24
3 13 张三3 18
4 40 张三4 10
5 5 张三5 19
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:4
请输入要修改的id:444
对不起,没有找到数据,请核对!
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:1
1 33 张三1 221
2 45 张三2 24
3 13 张三3 18
4 40 张三4 10
5 5 张三5 19
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:4
请输入要修改的id:45
请输入新的名字:我是新改的张三45
请输入新的年龄: 100
修改成功!
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:1
1 33 张三1 221
2 45 我是新改的张三45 100
3 13 张三3 18
4 40 张三4 10
5 5 张三5 19
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:4
请输入要修改的id:40
请输入新的名字:new
请输入新的年龄: 00
修改成功!
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:1
1 33 张三1 221
2 45 我是新改的张三45 100
3 13 张三3 18
4 40 new 0
5 5 张三5 19
1,查看所有
2,新增一条
3,删除一条
4,修改一条
5,退出程序
请选择功能:5
欢迎下次使用^_^!!!
分享到:
相关推荐
本书《Python自动化运维:技术与最佳实践》深入探讨了Python在自动化运维中的应用,并提供了丰富的实战案例和技术指导。 #### 二、Python自动化运维概述 ##### 2.1 自动化运维的概念 自动化运维是指通过使用自动化...
### wxPython实战知识点详解 #### 一、wxPython入门概览 **1.1 开始wxPython** - **wxPython简介:** wxPython是一个用于Python的GUI开发工具包,它基于wxWidgets C++库,提供了丰富的组件来创建跨平台的应用程序...
**3.4 wxPython是如何处理事件的?** - **事件处理流程**: 1. **创建事件**: 当用户触发某种操作时。 2. **确定是否处理事件**: 通过`wx.Event.Skip`决定是否传递给其他处理器。 3. **定位绑定器对象**: 确定哪个...
3.4 任务计划 3.5 迭代 3.6 结论 参考文献 第四章 测试 4.1 测试驱动的开发方法 4.2 验收测试 4.3 结论 参考文献 第五章 重构 5.1 素数产生程序一个简单的重构示例 5.2 结论 参考文献 第六章 一次编程实践 6.1 保龄...
1.6 小结——摘自小强的日记 28 1.7 首次实战――FoxMail溢出漏洞编写 29 1.8 牛刀小试――Printer溢出漏洞编写 41 1.9 JMP /CALL EBX——另一种溢出利用方式 42 1.10 拾阶而上——IDA/IDQ溢出漏洞编写 55 课后解惑 ...
1.7 首次实战――FoxMail溢出漏洞编写 29 1.8 牛刀小试――Printer溢出漏洞编写 41 1.9 JMP /CALL EBX——另一种溢出利用方式 42 1.10 拾阶而上——IDA/IDQ溢出漏洞编写 55 课后解惑 58 第二章、Windows下ShellCode...
1.7 首次实战――FoxMail溢出漏洞编写 29 1.8 牛刀小试――Printer溢出漏洞编写 41 1.9 JMP /CALL EBX——另一种溢出利用方式 42 1.10 拾阶而上——IDA/IDQ溢出漏洞编写 55 课后解惑 58 第二章、Windows下ShellCode...
它支持多种编程语言,如 Java、Python 等,并提供了自动扩展能力,这意味着应用程序可以根据需要自动增加或减少资源,以应对变化的工作负载。 ##### 1.3 Google Web Toolkit (GWT) Google Web Toolkit (GWT) 是一...
- **实战案例**: 分享一些实际应用中的技巧和最佳实践。 #### 三、基础概念 ##### 3.1 命令行工具 - **命令行接口**: 用于管理项目的创建、运行、调试等操作。 - **常用命令**: 如 `scrapy startproject`、`scrapy ...