fork download
  1. keys = ['none', 'false', 'zero', 'empty', 'missed']
  2. data = {'none':None, 'false':False, 'zero':0, 'empty':[], 'one':1}
  3.  
  4. def naive(k):
  5. return data[k] if k in data else 'missed'
  6.  
  7. def smart(k):
  8. v = data.get(k)
  9. return v if v is not None else 'missed'
  10.  
  11. def stupid(k):
  12. v = data.get(k)
  13. return v if v else 'missed'
  14.  
  15. unique_object = []
  16. def verysmart(k):
  17. v = data.get(k,unique_object)
  18. return v if v is not unique_object else 'missed'
  19.  
  20. def test(method):
  21. print(method)
  22. for k in keys:
  23. print(k, method(k))
  24. print()
  25.  
  26. test(naive)
  27. test(stupid)
  28. test(smart)
  29. test(verysmart)
  30.  
Success #stdin #stdout 0.02s 8736KB
stdin
Standard input is empty
stdout
<function naive at 0xb75f8a04>
none None
false False
zero 0
empty []
missed missed

<function stupid at 0xb75371dc>
none missed
false missed
zero missed
empty missed
missed missed

<function smart at 0xb7537194>
none missed
false False
zero 0
empty []
missed missed

<function verysmart at 0xb7537584>
none None
false False
zero 0
empty []
missed missed