del_global.py 732 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # del global
  2. def do_del():
  3. global x
  4. del x
  5. x = 1
  6. print(x)
  7. do_del()
  8. try:
  9. print(x)
  10. except NameError:
  11. print("NameError")
  12. try:
  13. do_del()
  14. except: # NameError:
  15. # FIXME uPy returns KeyError for this
  16. print("NameError")
  17. # delete globals using a list
  18. a = 1
  19. del (a,)
  20. try:
  21. print(a)
  22. except NameError:
  23. print("NameError")
  24. a = 2
  25. b = 3
  26. del (a, b)
  27. try:
  28. print(a)
  29. except NameError:
  30. print("NameError")
  31. try:
  32. print(b)
  33. except NameError:
  34. print("NameError")
  35. a = 1
  36. b = 2
  37. c = 3
  38. del (a, b, c)
  39. try:
  40. print(a)
  41. except NameError:
  42. print("NameError")
  43. try:
  44. print(b)
  45. except NameError:
  46. print("NameError")
  47. try:
  48. print(c)
  49. except NameError:
  50. print("NameError")
  51. a = 1
  52. b = 2
  53. c = 3
  54. del (a, (b, c))