python中類的變量與對象的變量


由於最近工作需要,開始接觸python這門語言。正在體驗他的新奇,第一個讓我迷惑的概念就是類的變量與對象的變量。

雖然可以簡單的將他們映射為C++等面向對象語言中類的static成員與普通成員,但是個人覺得對象的變量這種概念過於靈活。譬如

# ! /usr/bin/python
#
 Filename:object.py

class Person:
    countofperson = 0
     def  __init__(self,name):
        self.name = name

        print '(Initializing %s)' %self.name 

 

有一個這樣的類<人>,按照python中的說法定義了對象的變量name,以及類變量人的個數countofpersion。有一個缺點就是對於類的整體並沒有直觀的展現在人的面前,因為對象的變量他是隱藏在類定義的函數成員里,人們可能第一時間關注不到某個類的全部對象的變量。

 

為了保證這點,對於類的清晰程度,建議可以采用__name的方式定義對象的變量,這樣既保證了變量的僅作用於對象,又保證了類的清晰度,很滿足常規的編程規范。何樂而不為呢?上面那段代碼就可以改寫為

 #! /usr/bin/python

#  Filename:object.py

class Person:
    countofperson = 0
    __name = []     

    def__init__(self,name):
        self.__name = name

        print '(Initializing %s)' %self.__name 


免責聲明!

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



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