【转载,整理】使用默认值,防止出错和 dict.setdefalut() 还有assert 和 try except

错误陷阱 = “用于捕捉错误de 陷阱”

(1) 真正的报错,硬的,一般都是直接退出程序,关机等

(2) 现在多数语言,操作系统,捕捉到错误后,都用 msgbox  input 等小盒子困住 错误,报告给玩家

         让玩家去解决,而不真正退出。

 

 

一  dict的get()和 setdefalut()方法--带默认值

(1)dict.get("key")

(2)dict.setdefault("key"[,default])

>>> dictA={"a":1,"b":2,"c":3}
>>> dictA.get("a")
1
>>> dictA.get("d")
>>> dictA.setdefault("e",5)
5
>>> dictA
{'a': 1, 'b': 2, 'c': 3, 'e': 5}
>>> dictA={"a":1,"b":2,"c":3}
>>> dictA.setdefault("e",5)
5
>>> dictA.setdefault("d")
>>> dictA
{'a': 1, 'b': 2, 'c': 3, 'e': 5, 'd': None}
>>> 

 

 

二 try  except 和 try finally语句

 

(1)try/except 和 try/finally的作用不同,但一般可以混用

(2)[]内内容可选,但一旦有,次序决不能错
       try

        [except A: ]

        [except B:]

        except:

       [ else:]

(3)try finally

(4)混用要特别注意次序,不能错

      try:

         Normal execution block

    except A:

         Exception A handle

    except B:

         Exception B handle

    except:

         Other exception handle

    else:

         if no exception,get here

    finally:

         print("finally") 

 

 

三  assert 语句: 断言

错误断言

assert   判断条件式,False要返回的字符串

语法:没有括号,不是函数或方法

          如果为 false 报告false显示的内容,且不执行  代码块 后续内容

同时也起到了防止错误发生的错误陷阱的作用。

 

>>> assert True ,"123"
>>> assert False,"456"
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    assert False,"456"
AssertionError: 456

 

>>> strA="123"
>>> assert strA=="123","strA已经发生变化不再等于123"
>>> strA="12345"
>>> assert strA=="123","strA已经发生变化不再等于123"
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    assert strA=="123","strA已经发生变化不再等于123"
AssertionError: strA已经发生变化不再等于123
>>> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值