Python 3 x 學習筆記 雜

2022-07-19 03:30:10 字數 2502 閱讀 2000

在互動式環境中,編譯器會有乙個小整數池的概念,會把(-5,256)間的數預先建立好,而當a和b超過這個範圍的時候,兩個變數就會指向不同的物件了,因此位址也會不一樣,

在互動模式中,最後被輸出的表示式結果被賦值給變數_ ,此處,_變數應被使用者視為唯讀變數。

python 所謂的奇進偶棄,因為浮點數的表示在計算機中並不準確,用的時候可能要注意一下。

>>>round(10.5)10>>>round(11.5)12

random.randint(x,y) #隨機生乙個整數int型別,可以指定這個整數的範圍

random.sample(sequence,length) 可以從指定的序列中,隨機的擷取指定長度的片斷,不修改原序列。

'%%'輸出乙個單一的'%'

字串的分割還有partition()這種方式。

partition(sep)-->(head,sep,tail) 從左向右遇到分隔符把字串分割成兩部分,返回頭、分割符、尾三部分的三元組。如果沒有找到分割符,就返回頭、尾兩個空元素的三元組。

元組中只包含乙個元素時,需要在元素後面新增逗號,否則括號會被當作運算子使用:

元組中的元素值是不允許修改的,但我們可以對元組進行連線組合

tup3 =tup1 +tup2;

元組在輸出時總是有括號的,以便於正確表達巢狀結構。在輸入時可能有或沒有括號, 不過括號通常是必須的(如果元組是更大的表示式的一部分)。

字典的鍵必須不可變,所以可以用數字,字串或元組充當,而用列表就不行

除列表推導式外,

[3*x forx invec ifx >3]

集合也支援推導式:

a =

字典推導可以用來建立任意鍵和值的表示式詞典:

列表推導式的執行順序:各語句之間是巢狀關係,左邊第二個語句是最外層,依次往右進一層,左邊#第一條語句是最後一層。

[x*y forx inrange[1,5]ifx >2fory inrange[1,4]ifx <3]

forx inrange[1,5]

ifx >2fory inrange[1,4]ifx <3x*y

while 迴圈語句和 for 迴圈語句使用 else 的區別:

如何判斷乙個函式是否是乙個特殊的 generator 函式?可以利用 isgeneratorfunction 判斷:

>>>frominspectimportisgeneratorfunction

>>> isgeneratorfunction(fab)

true

要注意區分 fab 和 fab(5),fab 是乙個 generator function,而 fab(5) 是呼叫 fab 返回的乙個 generator,好比類的定義和類的例項的區別:

>>>importtypes

>>> isinstance(fab, types.generatortype)

false

>>> isinstance(fab(5), types.generatortype)

true

fab 是無法迭代的,而 fab(5) 是可迭代的:

>>>fromcollectionsimportiterable

>>> isinstance(fab, iterable)

false

>>> isinstance(fab(5), iterable)

true

在乙個 generator function 中,如果沒有 return,則預設執行至函式完畢,如果在執行過程中 return,則直接丟擲 stopiteration 終止迭代。

另乙個 yield 的例子**於檔案讀取。如果直接對檔案物件呼叫 read() 方法,會導致不可**的記憶體占用。好的方法是利用固定長度的緩衝區來不斷讀取檔案內容。通過 yield,我們不再需要編寫讀檔案的迭代類,就可以輕鬆實現檔案讀取:

sys.path 包含了乙個 python 直譯器自動查詢所需模組的路徑的列表。

如果你希望將輸出的值轉成字串,可以使用 repr() 或 str() 函式來實現。repr() 函式可以轉義字串中的特殊字元

另一種方式是迭代乙個檔案物件然後讀取每行:

#!/usr/bin/python3# 開啟乙個檔案f =open("/tmp/foo.txt","r")forline inf:print(line,end='')# 關閉開啟的檔案f.close()

json會將元組轉化為列表,pickle會保留元組格式

除非對精確度沒什麼要求,否則盡量避開用round()函式。近似計算我們還有其他的選擇:

python3 x學習筆記2

命令 功能 sys.stdin 標準輸入流 sys.stdout 標準輸出流 sys.stderr 標準錯誤流 sys.argv value 接收命令列的引數。例如,windows下的命令列cmd裡面的引數。其中,argv 0 表示該檔案本身。sys.version 檢視該python的版本。sys...

python 3 x 學習筆記 一

1.11 位 1 bit 8 bit 1 bytes 1 位元組 1024 位元組 1 kb 1.232位系統與64位系統的區別 32位系統的最大定址空間為 32系統僅支援4g的執行記憶體 64位系統從理論上支援數t級的執行記憶體 2.1 安裝python 2.2 設定環境變數 在cmd命令視窗輸入...

Python3 x學習筆記 一

前兩天搞ios時,由於專案迭代好多次,ui設計圖被推翻好多次,需要刪除專案中不用的,很顯然乙個乙個找太麻煩,這時候在網上找到了解決辦法,運用的就是用python寫的指令碼,頓時感覺python太強調了,不由自主的準備學習一下心得語言python python是一門指令碼語言,其用途是非常廣泛的,系統...