[Python]类,函数和属性

  
  
  
  
  1. #!/usr/local/bin/python3 
  2. #coding=UTF-8 
  3. ''''' 
  4. Created on 2011-2-25 
  5. @author: Jacky 
  6. ''' 
  7. class Counter: 
  8.     #类属性 
  9.     count = 0 
  10.     #类属性 
  11.     age = 0 
  12.     def __init__(self): 
  13.         #Counter.count += 1 
  14.         self.__class__.count +=1 
  15.  
  16. #python的查找顺序:obj.__dict__ --> obj__class__.__dict__ 
  17. #obj.__dict__ 中存储实例属性和实例方法 obj__class__.__dict__中存储类属性和类方法 
  18. #如果在 obj.__dict__ 中找到就采用 obj.__dict__中对应的值,如果没有找到就在 obj.__class__.__dict__中查找 
  19. counter = Counter() 
  20. #counter.age = 0 
  21. print("counter age:",counter.age); 
  22. #Counter.age = 0 
  23. print("Counter age:",Counter.age); 
  24. #从obj.__dict__中查找 age 属性 age=None 
  25. print("counter dict age:",counter.__dict__.get("age")) 
  26. #从obj.__class__.__dict__中查找 age 属性 age = 0 
  27. print("Counter dict age:",counter.__class__.__dict__.get("age")) 
  28. print() 
  29.  
  30. #给counter添加age属性并赋值为10 
  31. counter.age = 10 
  32. print("counter.age = 10"
  33. #counter.age = 10 
  34. print("counter.age:",counter.age) 
  35. #Counter.age = 10 
  36. print("Counter.age:",Counter.age) 
  37. #从obj.__dict__中查找 age 属性 age = 10 
  38.  
  39. print("counter dict age:",counter.__dict__.get("age")) 
  40. #从obj.__class__.__dict__中查找 age 属性 age = 0 
  41. print("Counter dict age:",counter.__class__.__dict__.get("age")) 
  42. print() 
  43.  
  44. #删除counter的age属性 
  45. del counter.age 
  46. print("del counter.age"
  47. #counter.countage = 0 
  48. print("counter.age:",counter.age) 
  49. #Counter.age = 0 
  50. print("counter.age:",Counter.age) 
  51. #从obj.__dict__中查找 age 属性 age = None 
  52.  
  53. print("counter dict age:",counter.__dict__.get("age")) 
  54. #从obj.__class__.__dict__中查找 age 属性 age = 0 
  55. print("Counter dict age:",counter.__class__.__dict__.get("age")) 
  56. print() 
  57.  
  58. #给counter动态添加name属性 
  59. counter.name = "zhang" 
  60. #给counter动态添加age属性 
  61. counter.age = 12 
  62. print("counter age:",counter.age) 
  63. print("counter name:",counter.name) 
  64.          
  65. counter1 = Counter() 
  66. print("counter1 count:",counter1.count) 
  67. print("counter1 dict:", counter1.__dict__.get("count")) 
  68. print("Counter  count:",Counter.count) 
  69. #print("Counter  dict:", Counter.__dict__.get("count")) 
  70. print("Counter  dict:", counter1.__class__.__dict__.get("count")) 
  71. print() 
  72. counter2 = Counter() 
  73. print("counter2 count:",counter2.count) 
  74. print("counter2 dict:", counter2.__dict__.get("count")) 
  75. print("Counter  count:",Counter.count) 
  76. #print("Counter  dict:", Counter.__dict__.get("count")) 
  77. print("Counter  dict:", counter2.__class__.__dict__.get("count")) 

 

你可能感兴趣的:(python类,函数和属性)