《Python核心编程 》笔记-第二章+第三章
第二章 快速入門
-
print語句中使用字符串格式操作符,實現字符替換功能。
print "%s is %d" %("one",1)%s、%d、%f分別用字符串、整型、浮點類型數據來替換。
-
print語句重定向
logfile = open('/tmp/mylog.txt','a')print >> logfile,'something....'logfile.close()符號>>是用來重定向的,上面的代碼將輸出添加到日志文件mylog.txt中。
-
raw_input內建函數,讀取鍵盤輸入,返回值類型是字符串。
s = raw_input('some tips:') -
操作符單斜桿 / 做傳統的除法,雙斜杠 //用作浮點除法,四舍五入。
- python中的變量名命名規則與其他大多數高級語言一樣,都是受到C語言影響。(事實上python本身就是C語言寫成的)
- python是動態型語言,不需要預先聲明變量的類型。變量的類型在賦值的那一刻確定。
- python是動態型語言,不需要預先聲明變量的類型。變量的類型在賦值的那一刻確定。
- python的長整型所能表達的范圍遠遠超過C語言的長整型,僅受限于計算機的虛擬內存總數,不用擔心溢出。
- something interesting:1.1無法用二進制精確表示,2.2、3.3、、、很多數字都無法用二進制精確表示。但python中提供了十進制浮點型decimal模塊,可以精確表示。
- 元組:可看成是只讀的列表,不可修改。
-
字典
aDict = {"one":1,"two":2} aDict.keys() #輸出['one','two'] for key in aDict: print key,aDict[key] -
python中的for循環與傳統的for循環(計數器循環)不太一樣,它更像shell里的foreach迭代。python中的for接受可迭代對象作為其參數,每次迭代其中的一個元素。在for語句中,經常還會用到range、len函數。
for i in range(len(A)):print A[i] -
列表解析,這個非常實用
spdEvens = [x**2 for x in range(8) if not x%2] -
文件和內建函數open()、file()
handle = open(file_name,access_mode = 'rb')r表示可讀模式,b表示二進制訪問,還有w表示可寫模式(覆蓋掉原來的),a表示添加模式(不覆蓋),+表示讀寫模式。
open()返回文件的句柄handle,后續的操作如readlines()、close()可通過這個句柄進行:如handle.close()….
-
try-except
try之后的代碼組,即你打算管理的代碼。except之后的代碼組,則是處理錯誤的代碼。
-
函數在調用前必須先定義(被調用函數要在調用處上方)。
- 如果函數沒有return語句,會自動返回None對象。
- 所有名字開始和結束都有兩個下劃線的方法都是特殊方法。如name、init
- 模塊,可以包含執行代碼、函數、類。.py文件即一個模塊。
- 常用的函數:int()、str()、range()、len()、raw_input()、ttype()、dir([obj])、help([obj])
第三章 Python基礎
1、語句和語法
-
注釋
Python中注釋用符號“#”,也可以用三引號:”’ 注釋內容 ”’
-
繼續
過長的語句,可以用反斜杠,將一行分解為幾行:
if a==1 and \b==0 : -
Python縮進風格
Pyhton使用縮進來分隔代碼組,縮進可以為空格、制表符Tab(另:推薦使用4個空格來縮進,并且盡量不要用tab鍵,因為不同平臺tab鍵的代表的空白寬度不一樣。)
-
多個語句寫在同一行上
把多個語句寫在同一行上是不推薦的,因為可讀性會大大降低。如果非要這么做,也是允許的。
import sys; x = 'foo'; sys.stdout.write(x) -
模塊
通過import導入
2、變量賦值
-
多元賦值(multuple)
采用這種方式賦值,等號兩邊的對象其實都是元組:
x,y,z = 1,2,3本質上為:
( x,y,z ) = (1,2,3)這種多元賦值方式可以實現無需中間變量交換兩個變量的值:
x,y = 1,2x,y = y,x執行代碼,x和y的值將互換。
3、標志符
-
專用下劃線標志符
_XXX,不用from module import *導入
_ XXX _,系統定義名字
_XXX,類中的私有變量名
下劃線對解析器具有特許的意義,而且是內建標志符使用的符號,所以建議避免用下劃線作為變量名的開始。
4、Python基本風格
注釋、縮進、標志符風格以上述及,此外Python還提供了一個機制“文檔”:可以通過_ doc _變量,動態獲得文檔字符串:
obj.__doc__5、內存管理
-
變量定義
大多數編譯型語言,變量在使用前必須先聲明,而Python作為解析型語言,無須顯示聲明變量,變量在第一次被賦值時自動聲明。
-
動態類型
Python不但無須事先聲明變量,而且也無需類型聲明。對象的類型和內存占用都是在運行時確定的。
-
內存分配
Python承擔了內存管理的復雜任務,程序員無需關心內存管理。
-
引用計數
Python使用引用計數這個技術來追蹤內存中的對象。
增加引用計數:
當對象被創建時,就生成了一個引用,引用計數被設置為1。當同一個對象又被賦值給其他變量時,或作為參數傳遞給函數、方法、類實例時,或被賦值為一個窗口對象的成員時,該對象一個新的引用就被創建,引用計數自動加1。
減少引用計數:
當對象的引用被銷毀時,引用計數會減少。比如:
(1)函數運行結束,局部變量被自動銷毀,對象的引用計數也會隨之減少。
(2)變量被重新賦值(值改變),引用計數減1。
(3)del obj,obj引用計數減1。 -
垃圾收集
Python的垃圾收集器實際上是一個引用計數器和一個循環垃圾收集器。
參考:
http://blog.csdn.net/u012162613/article/details/43965795
http://blog.csdn.net/u012162613/article/details/43965869
總結
以上是生活随笔為你收集整理的《Python核心编程 》笔记-第二章+第三章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则化方法/防止过拟合提高泛化能力的方法
- 下一篇: Deep Neural Networks