本篇文章是作者關于在學習了《Python學習手冊》以后,分享的學習心得,在此之前,我們先給大家分享一下這本書:

之前為了編寫一個svm分詞的程序而簡單學了下Python,覺得Python很好用,想深入并系統學習一下,了解一些機制,因此開始閱讀《Python學習手冊》。 在前兩章節都是對基本的信息做了概述,我們從第三章開始。
import進行模塊導入只能運行一次,多次運行需使用reload。
模塊往往是變量名的封裝,被認為是命名空間。例如:
#myfile.pytitle = "test">>>import myfile>>>print myfile.titletest
替代方案是from,下面有同樣的效果:
>>>from myfile import title>>>print tittletest
from myfile import * 則可以把myfile所有變量全部導入(第19章內容)。
雖然字符串支持多種操作,但是它具有不可變性,即原字符串不能改變,只能用新字符串作為結果賦予一個變量。下面是一個試圖改變原字符串的操作及報錯信息:
>>> s="spam">>> s[0] = 'z'Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'str' object does not support item assignment
str和repr顯示格式
>>>num = 1/3.0>>>num0.33333333333333331>>>print num333333333333>>>repr(num)'0.33333333333333331' #交互模式回顯>>>str(num)'333333333333' #打印語句
浮點數運算在精確方面有缺陷。這和硬件有關,打印結果也不能完全解決。
>>> 0.1+0.1+0.1-0.35.551115123125783e-17>>> print 0.1+0.1+0.1-0.35.55111512313e-17
使用小數對象可以進行修正
>>> from decimal import Decimal>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')Decimal('0.0') a = 3這個語句實際上執行了三個步驟:創建一個對象代表值3;如果還未創建,創建一個變量a;將變量與新的對象3連接。這時,變量a成為了對象3的一個引用,也可以看做是指針。
類型屬于對象,而不是變量,這就很好理解為什么Python中同一個變量名可以作為不同類型的對象的引用了。
在這種機制下,每個對象都有一個引用計數器,當計數器為0時就被系統回收,這便是Python中對象的垃圾收集的方法了。
不同變量引用同一個數字或字符串時,對變量操作(eg.a=3 a=a+2)只是創建了一個新的對象并使它引用新對象,這也是上一章提到的字符串不能改動的原因。而對于一些類型來說,有的操作確實能改變對象,如下所示:
新聞熱點
疑難解答