字典
創(chuàng)建字典:使用大括號叶沛,用冒號分隔鍵和值
訪問、插入、設置元素的語法與列表和元組一樣
用in判斷字典中是否存在某個鍵
用del關鍵字或pop方法(刪除指定值或將其返回)可以刪除值
keys和values方法分別用于獲取鍵和值的列表(鍵和值會議相同的順序輸出)
用update方法违孝,一個字典可以被合并到另一個字典中去
從序列類型創(chuàng)建字典(dict類型函數(shù))
默認值
dict的get和pop方法可以接受一個可供返回的默認值
字典鍵的有效類型
字典的值可以是任何Python對象,但鍵必須是不可變對象泳赋,如標量類型(整數(shù)雌桑、浮點數(shù)、字符串)或元組(元組中的所有對象也必須是不可變的)
通過hash函數(shù)祖今,可以判斷某個對象是不是可哈希的(是不是可作為字典的鍵)
如果要把列表當做鍵校坑,最簡單的辦法就是將其轉換成元組
集合
創(chuàng)建方式:set函數(shù)或大括號{}抱起來的集合字面量
列表、集合以及字典的推導式(不懂)
函數(shù)
def定義衅鹿,return返回撒踪,位置參數(shù),關鍵字參數(shù)(用于指定默認值或可選參數(shù))
關鍵字參數(shù)必須位于位置參數(shù)
命名空間大渤、作用域制妄、以及局部函數(shù)
返回多個值
函數(shù)亦為對象
匿名函數(shù)
用lambda關鍵字定義,僅由單條語句組成泵三,語句的結果就是返回值
閉包
由其他函數(shù)動態(tài)生成并返回的函數(shù)耕捞,關鍵性質:被返回的函數(shù)可以訪問其創(chuàng)建者的局部命名空間中的變量
下面這個函數(shù)可以返回一個能夠記錄其參數(shù)(曾經(jīng)傳入的一切參數(shù))的函數(shù)
擴展調用語法和args、*kwargs
函數(shù)參數(shù)的工作方式其實很簡單烫幕,當你在編寫func(a,b,c,d=some,e=value)時俺抽,位置和關鍵字參數(shù)其實分別是被打包成元組和字典的。函數(shù)實際接收到的是一個元組args和一個字典kwargs较曼,并在其內部完成如下轉換
允許將位置參數(shù)當成關鍵字參數(shù)那樣進行指定(即使它們在函數(shù)定義中并不是關鍵字參數(shù))磷斧,然后通過say_hello_then_call_f調用g
柯里化:部分參數(shù)應用
從現(xiàn)有函數(shù)派生出新函數(shù),其實就是定義了一個可以調用現(xiàn)有函數(shù)的新函數(shù)
內置的functools模塊可以用partial函數(shù)將此過程簡化
pandas和時間序列數(shù)據(jù)
生成器
能以一種一致的方式對序列進行迭代(比如列表中的對象或文件中的行)
生成器表達式
是構造生成器的最簡單方式,把列表推導式兩端的方括號改成圓括號