面向?qū)ο螅?)

昨天介紹了面向?qū)ο蟮母拍?,今天我們來?chuàng)建一個類。

1. class MyClass:

2. pass

3.

4. mc = MyClass()

5. print mc

關(guān)鍵字class加上類名用來創(chuàng)建一個類。之后縮進(jìn)的代碼塊是這個類的內(nèi)部。在這里,我們用pass語句,表示一個空的代碼塊。

類名加圓括號()的形式可以創(chuàng)建一個類的實例,也就是被稱作對象的東西。我們把這個對象賦值給變量mc。于是,mc現(xiàn)在就是一個MyClass類的對象。

看一下輸出結(jié)果:

1. <__main__.MyClass instance at 0x7fd1c8d01200>

2.

這個意思就是說,mc是__main__模塊中MyClass來的一個實例(instance),后面的一串十六進(jìn)制的數(shù)字是這個對象的內(nèi)存地址。

我們給這個類加上一些域:

1. class MyClass:

2. name = 'Sam'

3.

4. def sayHi(self):

5. print 'Hello %s' % self.name

6.

7. mc = MyClass()

8. print mc.name

9. mc.name = 'Lily'

10. mc.sayHi()

我們給MyClass類增加了一個類變量name,并把它的值設(shè)為'Sam'。然后又增加了一個類方法sayHi。

調(diào)用類變量的方法是“對象.變量名”。你可以得到它的值,也可以改變它的值。

注意到,類方法和我們之前定義的函數(shù)區(qū)別在于,第一個參數(shù)必須為self。而在調(diào)用類方法的時候,通過“對象.方法名()”格式進(jìn)行調(diào)用,而不需要額外提供self這個參數(shù)的值。self在類方法中的值,就是你調(diào)用的這個對象本身。

輸出結(jié)果:

1. Sam

2. Hello Lily

之后,在你需要用到MyClass這種類型對象的地方,就可以創(chuàng)建并使用它。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)置類屬性: python中每個類都擁有內(nèi)置的類屬性 1.類.name 獲得類的名字('字符串')print(Ca...
    李小萌mmm閱讀 203評論 0 3
  • 方法:首先什么是方法?其實方法和函數(shù)差不多,也是描述某個功能,動作的代碼塊,比如人類,有吃飯的方法,有玩撲克的方法...
    hello_我的哥閱讀 336評論 0 0
  • 內(nèi)置類屬性 內(nèi)置類屬性:python中每個類都擁有內(nèi)置的類屬性 1.類.name:獲取類的名字(字符串) 2.類....
    劍眉星目cz閱讀 338評論 0 2
  • 有償?shù)淖x書讓我有了強制讀下去的欲望,本來想讀《精要主義》的,但看到那是本外國作者的讀本,想先從采銅老師的《精進(jìn)》...
    江城聽夏閱讀 275評論 2 2
  • 很多人都說這是浮躁的時代,因為我們每個人都喜歡捷徑,那樣可以少走彎路走過了,才發(fā)現(xiàn),“捷徑”是最長的彎路。...
    Raighnow閱讀 130評論 0 0

友情鏈接更多精彩內(nèi)容