1. 程式人生 > >Python之類變數、類方法、類作為物件傳入類方法中、結合講解版本

Python之類變數、類方法、類作為物件傳入類方法中、結合講解版本

1、 直接上個原始碼

class Animal(object):        
    animalName = "Animal"   #類變數,看來python中沒靜態變數這一說(我之前的說法不嚴謹)

    @classmethod           #類方法
    def print_name(self):        #self指的類作為物件傳入
        return self.animalName   #呼叫對應類物件的animalName


class Cat(Animal):           #Cat類 ,擴充套件自Animal
    animalName = "Cat"


class Dog(Animal):           #Dog類 ,擴充套件自Animal
    animalName = "Dog"


dog = Dog()      
print dog.print_name()   #呼叫類方法的一種方式,使用例項物件呼叫,直譯器會自動找到對應的類物件

print Cat.print_name()   #第二種方式,使用類呼叫,類直接作為物件

輸出結果:

Dog
Cat

 

2、這就是類方法的妙用,巧妙將類物件為維度,做的多型,特別的贊

 

3、那這樣Python中的類變數,就支援重寫這一說了啊,牛批啊