Python进阶一

文章目录

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

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

      try:
        1/0
      except:
        print('某原因异常')

      应对特定异常情况

      try:
        1/0
      except ZeroDivisionError:
          print('除数不应为0')
      
      try:
          1/0
      except ZeroDivisionError as q:
          print(q)

      混合使用

      def foo(a):
          try :
              100/a
          except ZeroDivisionError :
              print('除数不应为零')
          except :
              print('未知错误')
      
      foo(0)
      foo('ry1')
      除数不应为零
      未知错误            

       

      2高级用法

      try :
          print(1/a)
      except:
          print('except')
      else:
          print('else')
      finally:
          print('finally')

       

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

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

      def f(a):
          try:
              print(1 / a)
              return 1/a
          except:
              print('except')
              return 'except'
          else :
              print('else')
              return 'else'
          finally:
              print('finally')
              return 'finally'
      
      print(f(0))
      print(f(2))
      except
      finally
      finally
      0.5
      finally
      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。

       

       


      循环的高级用法

      for in:
          ***
      else:
          ***
      
      while :
          ***
      else:
          ***

       

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

      for c in 'python':
      
          if c=='y':
              continue
          print(c,end=',')
      
          else: 
          print('正常退出')
      
      p,t,h,o,n,正常退出    

       

      for c in 'python':
      
          if c=='y':
              break
          print(c,end=',')
      
      else: 
          print('正常退出')
      
      p,

       

posted @ 2019-12-18 14:50  蓝子娃娃  阅读(188)  评论(0编辑  收藏  举报