python中如何統計一個類的實例化對象


類中的靜態變量 需要通過類名.靜態變量名 來修改 ;通過對象不能修改

python中如何統計一個類的實例化對象??

 1 class Person:
 2       #靜態變量count,用於記錄類被實例化的次數
 3      count = 0
 4       
 5       mind = "有思想"
 6       animal = "高級動物"
 7       soul = "有思想"
 8       def __init__(self ,country ,name ,sex ,age ,height ):
 9             self.country = country
10             self.name = name
11             self.sex = sex
12             self.age = age
13             self.height = height
14             #類被實例化時,會自動調用__init__()方法
15             #類中的靜態變量 需要類名.靜態變量來修改
16             Person.count += 1
17             
18       def eat(self):
19             print("%s在吃飯" %self.name)
20       def sleep(self):
21             print("%s睡覺" %self.name)
22       def  work(self):
23             print("%s工作……" %self.name)
24 
25 p1 = Person("中國","張三","","42","175")
26 p2 = Person("中國","李四","","35","180")
27 p3 = Person("美國","tanx","","21","160")
28 p4 = Person(p1.country,p2.name,p3.sex,p2.age,p3.height)
29 
30 #通過類名   可以改變類中的靜態變量
31 print(Person.count)
32 
33 #通過對象 不能改變類中的靜態變量的值 
34 p1.count = 8
35 print(Person.__dict__)
統計類的實例化對象代碼

運行結果為:

4
{'__module__': '__main__', 'count': 4, 'mind': '有思想', 'animal': '高級動物', 'soul': '有思想', 
'__init__': <function Person.__init__ at 0x00000000003C1E18>, 'eat': <function Person.eat at 0x000000000317AE18>, 
'sleep': <function Person.sleep at 0x000000000317AEA0>, 'work': <function Person.work at 0x000000000317AF28>, 
'__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM