文章目录

  • 异常处理
  • 逻辑运算符
    • 循环的高级用法

      异常处理
      1 基本用法
      应对所有情况

      1. try:
      2.   1/0
      3. except:
      4.   print('某原因异常')

      应对特定异常情况

      1. try:
      2.   1/0
      3. except ZeroDivisionError:
      4. print('除数不应为0')
      5.  
      6. try:
      7. 1/0
      8. except ZeroDivisionError as q:
      9. print(q)

      混合使用

      1. def foo(a):
      2. try :
      3. 100/a
      4. except ZeroDivisionError :
      5. print('除数不应为零')
      6. except :
      7. print('未知错误')
      8.  
      9. foo(0)
      10. foo('ry1')
      11. 除数不应为零
      12. 未知错误

      2高级用法

      1. try :
      2. print(1/a)
      3. except:
      4. print('except')
      5. else:
      6. print('else')
      7. finally:
      8. print('finally')

      注:
      except可有多组;
      try中未有异常时,执行else;
      finally一定执行

      try-except-else-finally遇到函数时

      1. def f(a):
      2. try:
      3. print(1 / a)
      4. return 1/a
      5. except:
      6. print('except')
      7. return 'except'
      8. else :
      9. print('else')
      10. return 'else'
      11. finally:
      12. print('finally')
      13. return 'finally'
      14.  
      15. print(f(0))
      16. print(f(2))
      17. except
      18. finally
      19. finally
      20. 0.5
      21. finally
      22. finally

      注:
      无论return在哪,finally一定执行;
      try中有return,else不执行;
      finally中的return会覆盖之前所有的return

      逻辑运算符
      and or not
      and ⇔ \Leftrightarrow⇔ exp1 if not exp1 else exp2
      or ⇔ \Leftrightarrow⇔ exp1 if exp1 else exp2
      and 和 or不一定返回True 或 False,而是得到最后一个被计算的表达式,
      但not一定得到True 或 False。

      循环的高级用法

      1. for in:
      2. ***
      3. else:
      4. ***
      5.  
      6. while :
      7. ***
      8. else:
      9. ***

      else扩展:玄幻完成的奖励( 循环没有被break退出时执行)

      1. for c in 'python':
      2.  
      3. if c=='y':
      4. continue
      5. print(c,end=',')
      6.  
      7. else:
      8. print('正常退出')
      9.  
      10. p,t,h,o,n,正常退出
      1. for c in 'python':
      2.  
      3. if c=='y':
      4. break
      5. print(c,end=',')
      6.  
      7. else:
      8. print('正常退出')
      9.  
      10. p,

Python进阶一的更多相关文章

  1. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

  2. Python进阶 - 对象,名字以及绑定

    Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...

  3. Python进阶-继承中的MRO与super

    Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...

  4. Python进阶 - 命名空间与作用域

    Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...

  5. python进阶学习笔记(一)

    python进阶部分要学习的内容: 学习目标: 1.函数式编程 1.1,什么是函数式编程 函数式编程是一种抽象计算的编程模式 不同语言的抽象层次不同: 函数式编程的特点: python支持的函数式编程 ...

  6. 【python进阶】详解元类及其应用2

    前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...

  7. 【python进阶】Garbage collection垃圾回收2

    前言 在上一篇文章[python进阶]Garbage collection垃圾回收1,我们讲述了Garbage collection(GC垃圾回收),画说Ruby与Python垃圾回收,Python中 ...

  8. Python进阶 函数式编程和面向对象编程等

    函数式编程 函数:function 函数式:functional,一种编程范式.函数式编程是一种抽象计算机的编程模式. 函数!= 函数式(如计算!=计算机) 如下是不同语言的抽象 层次不同 高阶函数: ...

  9. 【python进阶】深入理解系统进程2

    前言 在上一篇[python进阶]深入理解系统进程1中,我们讲述了多任务的一些概念,多进程的创建,fork等一些问题,这一节我们继续接着讲述系统进程的一些方法及注意点 multiprocessing ...

  10. Python进阶:如何将字符串常量转化为变量?

    前几天,我们Python猫交流学习群 里的 M 同学提了个问题.这个问题挺有意思,经初次讨论,我们认为它无解. 然而,我认为它很有价值,应该继续思考怎么解决,所以就在私密的知识星球上记录了下来. 万万 ...

随机推荐

  1. WC集训DAY2笔记 组合计数 part.1

    目录 WC集训DAY2笔记 组合计数 part.1 基础知识 组合恒等式 错排数 卡特兰数 斯特林数 伯努利数 贝尔数 调和级数 后记 补完了几天前写的东西 WC集训DAY2笔记 组合计数 part. ...

  2. 设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示(2.Azure Functions实战)

    本案例适用于开发者入门理解Azure Functions/ IoT Hub / Service Bus / Power BI等几款产品. 主要实战的内容为: 将设备遥测数据上传到物联网中心, 将遥测数 ...

  3. netcore 创建腾讯云私有镜像 发布到docker 实战

    上一篇博客写的 netcoer上传到docker ,编译 并发布,传送门:FineUICore基础版部署到docker实战 这是一种笨方法,理想的方法是,在本地编译成镜像,然后推送到镜像仓库,服务器的 ...

  4. Bash脚本编程之变量与多命令执行

    变量基础知识 程序由指令加数据所组成,而变量可以理解为数据来源的一种. 变量名可以理解为指向了某个内存空间的地址,对于变量的赋值可理解为向内存空间写入数据,对于变量的引用可理解为从内存空间读取数据. ...

  5. css3 中的渐变

    虽说css3 都已经使用多年了,但是关于css3的渐变用的很少.今天遇见了,就学习了一下. 首先我们打开ps,新建一个画布,选择渐变工具,这个时候我们能够看到顶栏上面的渐变类型如下 第一个我们选中的是 ...

  6. 通过Ajax的访问zuul的跨域问题解决方案

    刚开始在使用jqueryajax跨域请求zuul网关时,在后台发现一直拿不到前台请求的json数据,而前台也一直拿不到后台的响应数据.打开浏览器调试程序发现,本身ajax的POST请求统一都变成了op ...

  7. WPF炫酷UI及动画

    偶然看见了一张图,感觉挺好看的,花了点时间将他转化成了我代码仓库的一部分.虽然不难但也费时间.其中除了背景是百度的一张底图,其他所有内容均通过WPF的Path.Line.TextBlock.Borde ...

  8. GC与内存分配策略

    一.GC 第一步:判断对象是否已死?有两种方法:第一种是引用计数法,即给对象添加一个引用计数器,当被引用时,计数器就+1:当引用失效时,就-1:当计数器为0时,代表对象没有被引用.但是计数器的缺点就是 ...

  9. laravel开发大型电商网站之异常设计思路分析

    令人讨厌的异常 提起异常,大家都很反感,当信心满满的写完一段代码,刷新页面发现上面写着大大的 Exception 是最心烦的时候了.模块给领导演示的时候,如果报了异常,也是最让人崩溃的时候了. 在一般 ...

  10. 剑指offer笔记面试题7----重建二叉树

    题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如,输入前序遍历序列{1, 2, 4, 7, 3, 5, 6, 8}和中序遍历序列 ...