本節書摘來自華章計算機《python語言程式設計》一書中的第3章,第3.5節,作者:[美]梁勇(y. daniel liang) 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
關鍵點:在python中,所有的資料(包括數字和字元串)實際都是對象。
在python中,一個數字是一個對象,一個字元串是一個對象,每個資料都是對象。同一類型的對象都有相同的類型。你可以使用id函數和type函數來擷取關于對象的一些資訊。例如:

當執行程式的時候,python會自動為對象的id賦一個獨特的整數。在程式的執行過程中,對象的id不會改變。然而,每當執行程式時,python都可能會賦一個不同的id。python按照對象的值決定對象的類型。第2行顯示數字對象n的id,第3行顯示的是python已經被指派給對象的id,而第4行顯示它的類型。
在python中,一個對象的類型由類決定。例如:字元串的類是str(第15行),整數的類是int(第5行),浮點數的類是float(第10行)。術語“class”來自面向對象程式設計,這些都會在第7章中讨論。在python中,類(class)和類型(type)是一樣的意思。
注意:id和type函數在程式設計裡很少用到,但是它們是學習更多有關對象的好工具。
python中的變量實際上是一個對象的引用。圖3-2顯示前面的代碼中變量和對象之間的關系。
圖3-2 在python中,每個變量實際就是一個指向對象的引用
第1行的語句“n=3”是将3指派給了n,實際上是将3指派給了一個int對象,這個對象是由變量n引用的。
注意:對于n=3,我們可以說n是一個整型變量,其值為3。嚴格說來,n是一個引用了int對象的變量,而這個int對象的值為3。簡單講,說n是一個值為3的整型變量也可以。
你可以在一個對象上執行操作。操作是用函數定義的。python中對象所用的函數被稱為方法。方法隻能從一個特定的對象裡調用。例如:字元串類型裡有像lower()和upper()這樣的方法,它們傳回大寫字母或小寫字母寫成的新字元串。下面是一些如何調用這些方法的例子。
第2行調用對象s上的s.lower()方法,傳回一個小寫字母表示的新字元串,然後将它指派給s1。第5行調用對象s上的s.upper()函數,傳回一個大寫字母表示的新字元串,然後将它指派給s2。
正如你在之前的例子中所看到的那樣,一個對象調用方法的文法就是object.method()。
另外一個有用的字元串方法是strip(),它能被用來移除一個字元串兩端的空格符。字元' '、t、f、r和n都是空格符。
例如:
注意:如果你在eclipse上使用python,eclipse會自動在input函數輸入的字元串後追加r。是以,你應該用strip()方法移除字元r:
https://yqfile.alicdn.com/ed520f9b2f0d29729b0ad701bc6301d4a743749d.png" >
有關處理字元串和面向對象程式設計的更多細節将在第7章中讨論。
檢查點
3.12 什麼是對象?什麼是方法?
3.13 如何找到一個對象的id?如何找到一個對象的類型?
3.14 下面哪種陳述是語句“n=3”最準确的含義?
(a)n是一個擁有整型值3的變量。
(b)n是一個對象的引用,該對象的值為整數3。
3.15 假如s是"tgeorgian",那麼s.lower()和s.upper()是什麼?
3.16 假如s是"tgoodtmorningn",那麼s.strip()是什麼?