《python學習手冊》閱讀筆記5 1 5 14

2021-07-02 14:01:59 字數 4414 閱讀 3291

不知不覺這麼久沒寫了,兩周時間,看完了字串,列表與字典,元組與檔案,整個第二部分啃完了,第三部分是語句,再往後好像就是平時寫的時候沒接觸過的比較深的東西了,到時候應該會寫詳細點。

print

"""\

usage: thingy [options]

-h display this usage message

-h hostname hostname to connect to

"""

內建的ord函式轉換為其對應的ascii碼——這個函式實際上返回的是這個字元在記憶體中對應的字元的二進位制值。而chr函式將會執行相反的操作,獲取ascii碼並將其轉化為對應的字元

>>> ord('s')

115>>> chr(115)

's'

>>> s = 'spammy'

>>> s = s.replace('mm', 'xx')

>>> s

'spaxxy'

replace方法比這一段**所表現的更具有普遍性。它的引數是原始子字串(任意長度)和替換原始子字串的字串(任意長度),之後進行全域性搜尋並替換:

>>> s.replace('spam', 'eggs', 1)  # replace one

'***xeggs***xspam***x'

>>> exclamation = "ni"

>>> "the knights who say %s!" % exclamation

'the knights who say ni!'

>>> "%d

%s%d you" % (1, 'spam', 4)

'1 spam 4 you'

>>> "%s -- %s -- %s" % (42, 3.14159, [1, 2, 3])

'42 -- 3.14159 -- [1, 2, 3]'

>>> template = ',  and '

# by position

>>> template.format('spam', 'ham', 'eggs')

'spam, ham and eggs'

>>> template = ', and '

# by keyword

>>> template.format(motto='spam', pork='ham', food='eggs')

'spam, ham and eggs'

>>> template = ', and '

# by both

>>> template.format('ham', motto='spam', food='eggs')

'spam, ham and eggs'

>>> ', , '.format(3.14159, 3.14159, 3.14159)

2015-05-11

'3.141590e+00, 3.142e+00, 3.14159'

>>> ', , '.format(3.14159, 3.14159, 3.14159)

'3.141590, 3.14, 003.14'

2015-05-11

>>> ', , '.format(255, 255, 255) # hex, octal, binary

'ff, 377, 11111111'

>>> bin(255), int('11111111', 2), 0b11111111 # other to/from binary

('0b11111111', 255, 255)

>>> hex(255), int('ff', 16), 0xff

# other to/from hex

('0xff', 255, 255)

>>> list(map(abs, [-1, -2, 0, 1, 2]))       # map

function across sequence

[1, 2, 0, 1, 2]

原處修改列表
字典的基本操作
其他字典方法
語言表
建立字典的其他方法
# traditional literal expression

d = {} # assign by keys dynamically

d['name'] = 'mel'

d['age'] = 45

dict(name='mel', age=45) # dict keyword argument form

dict([('name', 'mel'), ('age', 45)]) # dict key/value tuples form

如果你可以事先拼出整個字典,那麼第一種是很方便的。

如果你需要一次動態地建立字典的乙個字段,第二種比較合適。

第三種關鍵字形式所需的**比常量少,但是鍵必須都是字串才行。

如果你需要在程式執行時把鍵和值逐步建成序列,那麼最後一種形式比較有

>>> d = 

>>> d

為什麼有了列表還要元組
最佳答案似乎是元組的不可變性提供了某種完整性。這樣你可以確保元組在程式中不會被另乙個引用修改,而列表就沒有這樣的保證了。因此,元組的角色類似於其他語言中的「常數」宣告,

使用檔案

實際應用中的檔案
pickle.dump(d, f) 

2015-05-13

e = pickle.load(f)

重訪型別分類
物件型別

分類是否可變

數字數值

否字串序列否

列表序列是字典

對應是元組序列否檔案

擴充套件n/a

sets集合是

frozenset集合否

bytearray(3.0)序列是

物件靈活性

列表、字典和元組可以包含任何種類的物件。

列表、字典和元組可以任意巢狀。

列表和字典可以動態地擴大和縮小。

引用vs拷貝
比較、相等性和真值
有兩種方法可以測試相等性:

>>> s1 = 'spam'

>>> s2 = 'spam'

>>> s1 == s2, s1 is s2

(true, true)

python中真和假的含義
數字如果非零,則為真。

其他物件如果非空,則為真。

none
none不是意味著「未定義」。也就是說,none是某些內容,而不是沒有內容(儘管起名字是沒有內容)——它是乙個真正的物件,並且有一塊記憶體,由python給定乙個內建的名稱。

留意迴圈資料結構
如果遇到乙個復合物件包含指向自身的引用,就稱之為迴圈物件。無論何時python在物件中檢測到迴圈,都會列印成[…],而不會陷入無限迴圈。

>>> l

['grail', [...]]

啊筆記比較亂,標題也是亂七八糟的,不知道是按時間還是按章節來,到現在才看到快四分之一(:з」∠)跪。

python學習手冊學習筆記(一)

第三章 如何執行檔案 避免命令列執行時閃退 加input 到最後 匯入 import 從本質上講,就是載入另乙個檔案。把其中乙個模組檔案設計成主檔案。屬性 繫結在特定物件上的變數名 比如乙個模組 讀取模組檔案的變數名 import from reload。從模組檔案中獲得變數名 from myfil...

php手冊閱讀筆記(1)

1.language reference basic syntax php檔案尾部的結束標記 最好省略,防止檔案尾部新增多餘的空格和回車 可以使用 方式的注釋 2.型別 支援四種標量 boolean integer float 與double相同 string 支援兩種結構 array object...

mysql完全手冊閱讀筆記

1 mysql效能顯著的部分原因是他允許多個併發資料庫訪問的完全多執行緒體系結構。他是mysql引擎的核心,允許多個客戶同時讀取同乙個資料庫。事務,儲存過程都是可選的 查詢高速緩衝儲存器 儲存常用查詢結果並把這些儲存的資料返回給呼叫者。多使用者支援 完全多使用者的系統,多個使用者可以同時訪問和使用乙...