我們之前已經(jīng)寫了不少小程序,都是按照功能需求的順序來設(shè)計程序。這種被稱為“面向過程”的編程。 還有一種程序設(shè)計的方法,把數(shù)據(jù)和對數(shù)據(jù)的操作用一種叫做“對象”的東西包裹起來。這種被成為“面向?qū)ο蟆钡木幊?。這種方法更適合較大型的程序開發(fā)。
面向?qū)ο缶幊套钪饕膬蓚€概念就是:類(class)和對象(object)
類是一種抽象的類型,而對象是這種類型的實例。
舉個現(xiàn)實的例子:“筆”作為一個抽象的概念,可以被看成是一個類。而一支實實在在的筆,則是“筆”這種類型的對象。
一個類可以有屬于它的函數(shù),這種函數(shù)被稱為類的“方法”。一個類/對象可以有屬于它的變量,這種變量被稱作“域”。域根據(jù)所屬不同,又分別被稱作“類變量”和“實例變量”。
繼續(xù)筆的例子。一個筆有書寫的功能,所以“書寫”就是筆這個類的一種方法。每支筆有自己的顏色,“顏色”就是某支筆的域,也是這支筆的實例變量。
而關(guān)于“類變量”,我們假設(shè)有一種限量版鋼筆,我們?yōu)檫@種筆創(chuàng)建一種類。而這種筆的“產(chǎn)量”就可以看做這種筆的類變量。因為這個域不屬于某一支筆,而是這種類型的筆的共有屬性。
域和方法被合稱為類的屬性。
python是一種高度面向?qū)ο蟮恼Z言,它其中的所有東西其實都是對象。所以我們之前也一直在使用著對象??慈缦碌睦樱?/p> 1. s = 'how are you' 2. #s被賦值后就是一個字符串類型的對象 3. l = s.split() 4. #split是字符串的方法,這個方法返回一個list類型的對象 5. #l是一個list類型的對象 通過dir()方法可以查看一個類/變量的所有屬性: 1. dir(s) 2. dir(list)
|