`
qindongliang1922
  • 浏览: 2180885 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117400
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125816
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59781
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71224
社区版块
存档分类
最新评论

Python3.4实战小例子

阅读更多
接触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
欢迎下次使用^_^!!!


1
0
分享到:
评论

相关推荐

    Python自动化运维::技术与最佳实践

    本书《Python自动化运维:技术与最佳实践》深入探讨了Python在自动化运维中的应用,并提供了丰富的实战案例和技术指导。 #### 二、Python自动化运维概述 ##### 2.1 自动化运维的概念 自动化运维是指通过使用自动化...

    wxpython实战

    ### wxPython实战知识点详解 #### 一、wxPython入门概览 **1.1 开始wxPython** - **wxPython简介:** wxPython是一个用于Python的GUI开发工具包,它基于wxWidgets C++库,提供了丰富的组件来创建跨平台的应用程序...

    wxPython实战(中文版)

    **3.4 wxPython是如何处理事件的?** - **事件处理流程**: 1. **创建事件**: 当用户触发某种操作时。 2. **确定是否处理事件**: 通过`wx.Event.Skip`决定是否传递给其他处理器。 3. **定位绑定器对象**: 确定哪个...

    敏捷软件开发:原则、模式与实践.pdf

    3.4 任务计划 3.5 迭代 3.6 结论 参考文献 第四章 测试 4.1 测试驱动的开发方法 4.2 验收测试 4.3 结论 参考文献 第五章 重构 5.1 素数产生程序一个简单的重构示例 5.2 结论 参考文献 第六章 一次编程实践 6.1 保龄...

    原稿是《黑手缓冲区溢出教程》资源是一个叫美丽の破船的人打出来了,感谢他的工作,我也学习到了很多的东西,所以推荐给大家,特别是做C++码砖头的小程序员来说!另外还有美丽破船码的程序。

    1.6 小结——摘自小强的日记 28 1.7 首次实战――FoxMail溢出漏洞编写 29 1.8 牛刀小试――Printer溢出漏洞编写 41 1.9 JMP /CALL EBX——另一种溢出利用方式 42 1.10 拾阶而上——IDA/IDQ溢出漏洞编写 55 课后解惑 ...

    Q版缓冲区溢出教程-场景教程

    1.7 首次实战――FoxMail溢出漏洞编写 29 1.8 牛刀小试――Printer溢出漏洞编写 41 1.9 JMP /CALL EBX——另一种溢出利用方式 42 1.10 拾阶而上——IDA/IDQ溢出漏洞编写 55 课后解惑 58 第二章、Windows下ShellCode...

    Q版缓冲区溢出教程

    1.7 首次实战――FoxMail溢出漏洞编写 29 1.8 牛刀小试――Printer溢出漏洞编写 41 1.9 JMP /CALL EBX——另一种溢出利用方式 42 1.10 拾阶而上——IDA/IDQ溢出漏洞编写 55 课后解惑 58 第二章、Windows下ShellCode...

    云应用开发 ——Google App Engine & Google Web Toolkit入门指南

    它支持多种编程语言,如 Java、Python 等,并提供了自动扩展能力,这意味着应用程序可以根据需要自动增加或减少资源,以应对变化的工作负载。 ##### 1.3 Google Web Toolkit (GWT) Google Web Toolkit (GWT) 是一...

    Scrapy Documentation Release 1.0.5

    - **实战案例**: 分享一些实际应用中的技巧和最佳实践。 #### 三、基础概念 ##### 3.1 命令行工具 - **命令行接口**: 用于管理项目的创建、运行、调试等操作。 - **常用命令**: 如 `scrapy startproject`、`scrapy ...

Global site tag (gtag.js) - Google Analytics