python 類

和其他語言一樣,類的概念在python中也是存在的,下面我們就通過一些實例來學習在Python中如何使用類。

class Student:
    def __init__(self, name,age):
        self.name = name
        self.age = age

    def show_student_info(self):
        print('學生姓名:'+self.name.title())
        print('學生年齡:'+ str(self.age))

在python中定義類的時候需要使用關鍵字:class來標識,其後書寫類名.
除了上面的寫法,下面這種寫法也是有效的(python2.7):

class Student(object):

在類中申明的函數稱之爲方法。其中init 這個方法是一個特殊的方法,它會在創建類的實例的時候自動調用,它的寫法是前後各兩個下劃線,這也是一種約定吧,一定程度可以避免和普通的方法重複。

學習過c++或者java等其他語言的朋友估計很好理解這個方法,這就是一個構造函數。

大家可能注意到了,在上面的例子裏面,不管是init 這個特殊方法還是show_student_info這個普通方法,它們的第一個參數都是self,那麼這個self又是何方神聖呢?
self這個東西只有在類中才能看到,它是指向實例本身的引用,之所以要傳入這個實參,就是爲了讓實例能夠訪問類中的屬性和方法。

在調用函數的過程中,self程序會自動傳入實參,我們只需要處理我們自定義的實參就好。

我們在看下init 中定義的兩個變量:

   self.name = name
   self.age = age

賦值就不說了,這裏單獨提出來是爲了告訴大家:在init 中用self爲前綴的變量是可供類中所有方法使用的,我們也可以通過任何實例來訪問這些屬性。

創建類實例
創建一個類的實例很簡單:

student = Student('zhangsan',15)

其中student就是我們創建的學生實例,這裏一般約定類名是大寫,而實例採用小寫。

那麼如何訪問類的屬性和方法呢?

很簡單,我們可以使用句點表示法:

student.show_student_info()
student.name = 'zhaosi'
student.age = 20
student.show_student_info()

使用實例名+句點+方法/屬性名稱來訪問或者修改對應的方法/屬性,這個和其他語言類似。

試着運行一下程序,我們會得到如下輸出:

學生姓名:Zhangsan
學生年齡:15
學生姓名:Zhaosi
學生年齡:20
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章