复习

  1. 1.序列化:数据类型转换成字符串的过程
    为了方便存储和网络传输
    2.序列化模块:
    1.json
    1.dumps
    2.loads
    3.dump 和文件相关
    4.load 不能load多次
    2.pickle
    1.json方法一样
    2.dumpload,文件以rb wb打开
    3.支持python的左右数据类型
    4.序列化与反序列化需要相同的环境
    3.shelve
    1.open方法
    2.open方法获取文件句柄
    3.操作与字典类似
    3.模块导入
    1.import
    2.from import
    都支持as重命名,多名字导入
    3.模块不会被重复导入
    sys.moudles 纪录了所有被导入的模块
    sys.path 纪录了导入模块时,寻找的所有路径

学习内容

  1. 1.把解决一类问题的模块放在同一个文件夹——包
    2.包的导入,绝对路径与相对路径
    3.异常处理
    try...expect
    except ValueError 支持多分支
    except Exception 万能异常,单独处理的异常放在万能异常
    else 没有异常的时候,执行
    finally 无论代码是否异常,都执行. 函数return结合使用

代码区

1.异常处理

  1. try:
  2. a = int(input('input number'))
  3. except:
  4. print('error')
  5. else:
  6. print("in else")
  7. finally:
  8. print('in finally')

2.三级菜单

  1. menu = {
  2. '北京': {
  3. '海淀': {
  4. '五道口': {
  5. 'soho': {},
  6. '网易': {},
  7. 'google': {}
  8. },
  9. '中关村': {
  10. '爱奇艺': {},
  11. '汽车之家': {},
  12. 'youku': {},
  13. },
  14. '上地': {
  15. '百度': {},
  16. },
  17. },
  18. '昌平': {
  19. '沙河': {
  20. '老男孩': {},
  21. '北航': {},
  22. },
  23. '天通苑': {},
  24. '回龙观': {},
  25. },
  26. '朝阳': {},
  27. '东城': {},
  28. },
  29. '上海': {
  30. '闵行': {
  31. "人民广场": {
  32. '炸鸡店': {}
  33. }
  34. },
  35. '闸北': {
  36. '火车战': {
  37. '携程': {}
  38. }
  39. },
  40. '浦东': {},
  41. },
  42. '山东': {},
  43. }
  44.  
  45. def three_menu(dic):
  46. while 1:
  47. for k in dic: print(k)
  48. key = input('input--').strip()
  49. if key == 'b' or key == 'q': return key
  50. elif key in dic.keys() and dic[key]:
  51. ret = three_menu(dic[key])
  52. if ret == 'q': return 'q'
  53.  
  54. l = [menu]
  55. while l:
  56. for key in l[-1]: print(key)
  57. k = input('input--').strip()
  58. if k in l[-1].keys() and l[-1][k]:
  59. l.append(l[-1][k])
  60. elif k == 'b':
  61. l.pop()
  62. elif k == 'q':
  63. break

python之路——21的更多相关文章

  1. 【python之路21】用户登陆程序函数

    一.用户登陆函数实例 1.注意:以后写函数时必须在函数第一行后按回车加入“”““”“””两对三引号后回车,此时会自动列出参数值,注释函数的作用.参数的用法和返回值 #!usr/bin/env pyth ...

  2. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  3. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  4. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  5. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  6. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  7. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  8. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

  9. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作   堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...

随机推荐

  1. HTML入门标签学习

    1.标题:<h1></h1>.<h2></h2>.<h3></h3>.<h4></h4>.<h5& ...

  2. Ajax的分析

    I.what is Ajax? Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. A ...

  3. linux防火墙设置常用命令

    1.永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2.即时生效,重启后复原 开启: service iptabl ...

  4. 3D数学基础(二)向量

    向量的基本运算包括加法.减法.点乘.叉乘.单位化运算等,而在游戏开发中使用最为广泛的是减法.点乘.叉乘.单位化运算.向量是具有方向和长度的矢量,有2D.3D.4D等的.在游戏开发里面一般使用的是2D和 ...

  5. (转)hibernate 之hiberante.hbm2ddl.auto 参数的配置

    我们在搭建环境的时候,在配置文件中有一个属性标签为: 完整配置如下 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernat ...

  6. 终于开始我的java旅程了!

    首先今天先装了jdk1.7 ,找了半天,因为官网是都是让你装1.8的最新版本,地址如下: 所有jdk的历史版本: http://www.oracle.com/technetwork/java/java ...

  7. seg代码配置的踩坑记录

    01. SEGMENTATION FAULT 正在配置OCNET的代码,在自己的本地运行没有任何问题,但是在服务器上一直报错:SEGMENTATION FAULT 这属于很概括的报错,无法直接看明白到 ...

  8. git和redmine同步

    最近实现了github以及内部的gitbucket与redmine的同步. redmine是内部使用的一套工单系统,用于跟踪bug和需求,由于最近同时开发的版本比较多,在不同分支的提交容易漏掉.现在改 ...

  9. 测试那些事儿—软测必备的Linux知识(三)

    ubantu 打开命令提示符的方法:点击左上角图标输入terminal 1.系统管理 1.1 shutdown,系统关机命令 -h:关机        -r:重启 shutdown -h now 立即 ...

  10. Python:从入门到实践--第八章-函数-练习

    #.消息:编写一个名为display_message()的函数,它打印一个句子,指出你在本章学的是什么. #调用这个函数,确认显示的消息无误 def display_message(name): pr ...