python學習筆記14 內置函數

內置函數一共 68 個

locals() 當前作用域中的變量

globals() 全局作用域中的變量

id() 計算內存地址

hash算法

目的是唯一性

dict字典 查找效率非常高 hash表 用空間換時間 比較耗費內存 

list列表 是可變的,不可hash ,不可用hash() 運算

tuple元組,dict字典 是可hash的

__import__("模塊名")  可以動態導入模塊

help()  查看幫助

dir() 查看內置屬性,查看當前文件夾內容

complex() 複數

bin() 把一個十進制的數轉換成二進制

hex()  十六進制

oct()  八進制

callable() 判斷參數是否可被調用

函數是可以被調用(執行)的

eval()  執行一個字符串表達式,並返回表達式的值。通常適用於有返回值的代碼

exec()  執行儲存在字符串或文件中的 Python 語句,相比於 eval,exec可以執行更復雜的 Python 代碼。通常適用於沒有返回值的代碼

compile()  將一個字符串編譯爲字節碼,然後通過exec()執行 或者eval() 求值

compile()並不會執行代碼,他只有編譯操作

compile() 的作用

1 通過編譯對代碼加密,執行者無法看到源碼

2 一次性編譯後執行,執行速度較快

c1 = compile(code1, " ", mode="exec")

mode有 "eval"(有返回值用),"exec"(無返回值用),"single"(有交互時用,如input) 3種

"single" 模式一般用 exec() 而非eval() 執行

 

數學運算

abs() 求絕對值

divmod() 返回商和餘數,返回結果爲元組

round() 五舍六入

pow(x, y[, z]) 函數是計算x的y次方,如果z在存在,則再對結果進行取模,其結果等效於pow(x,y) %z

sum(iterable[, start])

參數

  • iterable -- 可迭代對象,如:列表、元組、集合。
  • start -- 指定相加的參數,如果沒有設置這個值,默認爲0。

list()  將元組或字符串轉換爲列表。

tuple()  將可迭代系列(如列表)轉換爲元組。

reversed() 函數不會改變原列表,而是返回一個反轉的迭代器

slice() 函數實現切片對象,主要用在切片操作函數裏的參數傳遞。

slice(1,3,1) 效果等同於 lst[1:3:1] 

str()  轉換成字符串

repr()  將對象轉化爲供解釋器讀取的形式。原樣輸出,會過濾掉轉 \n \t 等轉義字符(不會過濾%)

ord() 函數是 chr() 函數(對於 8 位的 ASCII 字符串)的配對函數,它以一個字符串(Unicode 字符)作爲參數,返回對應的 ASCII 數值,或者 Unicode 數值。

chr() 用一個整數作參數,返回一個對應的字符。

ascii() 函數類似 repr() 函數, 返回一個表示對象的字符串, 但是對於字符串中的非 ASCII 字符則返回通過 repr() 函數使用 \x, \u 或 \U 編碼的字符。 生成字符串類似 Python2 版本中 repr() 函數的返回值。可以用於判斷對象是否在ascii碼裏

bytes()  返回一個新的 bytes 對象,該對象是一個 0 <= x < 256 區間內的整數不可變序列。它是 bytearray 的不可變版本。

s='李嘉誠的爸爸'

bytes(s, encoding="UTF-8")

print(s.encode("UTF-8"))

bytearray() 方法返回一個新字節數組。這個數組裏的元素是可變的,並且每個元素的值範圍: 0 <= x < 256。

memoryview()  返回給定參數的內存查看對象(memory view)。

所謂內存查看對象,是指對支持緩衝區協議的數據進行包裝,在不需要複製對象基礎上允許Python代碼訪問。

format()  同於格式化輸出,可以接受不限個參數,位置可以不按順序

^, <, > 分別是居中、左對齊、右對齊,後面帶寬度, : 號後面帶填充的字符,只能是一個字符,不指定則默認是用空格填充。

+ 表示在正數前顯示 +,負數前顯示 -;  (空格)表示在正數前加空格

b、d、o、x 分別是二進制、十進制、八進制、十六進制。

 

enumrate()  用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。

all()  用於判斷給定的可迭代參數 iterable 中的所有元素是否都爲 TRUE,如果是返回 True,否則返回 False。

any()  用於判斷給定的可迭代參數 iterable 是否全部爲 False,則返回 False,如果有一個爲 True,則返回 True。

元素除了是 0、空、None、False 外都算 True。

zip() 函數用於將可迭代的對象作爲參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的對象,這樣做的好處是節約了不少的內存。

我們可以使用 list() 轉換來輸出列表。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓爲列表。

 

預習 : lambda sorted filter map 遞歸(文件讀取)

 

https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac#map

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章