python的內建函數詳解

            python內建函數

    最近一直在學習python,在網上看到和學習了關於python內建函數的一些分類和個內建函數的作用,下面是一些關於python內建函數的羅列,初學者的瞭解,分類可能不準確,一起交流。

 

一、數學運算類

abs(x)

求絕對值
 1
參數可以是整型也可以是複數
 2
若參數是複數則返回複數的模

complex([real[, imag]])

創建一個複數

divmod(a, b)

分別取商和餘數
 
注意整型浮點型都可以

float([x])

將一個字符串或數轉換爲浮點數如果無參數將返回0.0

int([x[, base]]) 

將一個字符轉換爲int類型base表示進制

long([x[, base]]) 

將一個字符轉換爲long類型

pow(x, y[, z]) 

返回xy次冪

range([start], stop[, step]) 

產生一個序列默認從0開始

round(x[, n]) 

四捨五入

sum(iterable[, start]) 

對集合求和

oct(x)

將一個數字轉化爲8進制

hex(x)

將整數x轉換爲16進制字符串

chr(i)

返回整數i對應的ASCII字符

bin(x)

將整數x轉換爲二進制字符串

bool([x])

x轉換爲Boolean類型

 

二、集合類操作

basestring()

strunicode的超類
 
不能直接調用可以用作isinstance判斷

format(value [, format_spec])

格式化輸出字符串
 
格式化的參數順序從0開始“I am {0},I like {1}”

unichr(i)

返回給定int類型的unicode

enumerate(sequence [, start = 0])

返回一個可枚舉的對象,該對象的next()方法將返回一個tuple

iter(o[, sentinel])

生成一個對象的迭代器第二個參數表示分隔符

max(iterable[, args...][key]) 

返回集合中的最大值

min(iterable[, args...][key])

返回集合中的最小值

dict([arg])

創建數據字典

list([iterable]) 

將一個集合類轉換爲另外一個集合類

set()

set對象實例化

frozenset([iterable])

產生一個不可變的set

str([object]) 

轉換爲string類型

sorted(iterable[, cmp[, key[, reverse]]]) 

隊集合排序

tuple([iterable]) 

生成一個tuple類型

xrange([start], stop[, step]) 

xrange()函數與range()類似xrnage()並不創建列表而是返回一個xrange對象它的行爲與列表相似但是隻在需要時才計算列表值當列表很大時這個特性能爲我們節省內存

 

三、邏輯判斷

all(iterable)

1集合中的元素都爲真的時候爲真
 2
特別的若爲空串返回爲True

any(iterable)

1集合中的元素有一個爲真的時候爲真
 2
特別的若爲空串返回爲False

cmp(x, y)

如果x<y ,返回負數x == y, 返回0x >y,返回正數

 

四、反射

callable(object)

檢查對象object是否可調用
 1
類是可以被調用的
 2
實例是不可以被調用的除非類中聲明瞭__call__方法

classmethod()

1註解用來說明這個方式是個類方法
 2
類方法即可被類調用也可以被實例調用
 3
類方法類似於Java中的static方法
 4
類方法中不需要有self參數

compile(source, filename, mode[, flags[, dont_inherit]])

source編譯爲代碼或者AST對象代碼對象能夠通過exec語句來執行或者eval()進行求值
 1
參數source字符串或者ASTAbstract Syntax Trees)對象
 2
參數filename代碼文件名稱如果不是從文件讀取代碼則傳遞一些可辨認的值
 3
參數model指定編譯代碼的種類可以指定爲 ‘exec’,’eval’,’single’
 4
參數flagdont_inherit這兩個參數暫不介紹

dir([object])

1不帶參數時返回當前範圍內的變量方法和定義的類型列表
 2
帶參數時返回參數的屬性方法列表
 3
如果參數包含方法__dir__()該方法將被調用當參數爲實例時
 4
如果參數不包含__dir__()該方法將最大限度地收集參數信息

delattr(object, name)

刪除object對象名爲name的屬性

eval(expression [, globals [, locals]])

計算表達式expression的值

execfile(filename [, globals [, locals]])

用法類似exec()不同的是execfile的參數filename爲文件名exec的參數爲字符串

filter(function, iterable)

構造一個序列等價於[ item for item in iterable if  function(item)]
 1
參數function返回值爲TrueFalse的函數可以爲None
 2
參數iterable序列或可迭代對象

getattr(object, name [, defalut])

獲取一個類的屬性

globals()

返回一個描述當前全局符號表的字典

hasattr(object, name)

判斷對象object是否包含名爲name的特性

hash(object)

如果對象object爲哈希表類型返回對象object的哈希值

id(object)

返回對象的唯一標識

isinstance(object, classinfo)

判斷object是否是class的實例

issubclass(class, classinfo)

判斷是否是子類

len(s) 

返回集合長度

locals() 

返回當前的變量列表

map(function, iterable, ...) 

遍歷每個元素執行function操作

memoryview(obj) 

返回一個內存鏡像類型的對象

next(iterator[, default]) 

類似於iterator.next()

object() 

基類

property([fget[, fset[, fdel[, doc]]]]) 

屬性訪問的包裝類設置後可以通過c.x=value等來訪問settergetter

reduce(function, iterable[, initializer]) 

合併操作從第一個開始是前兩個參數然後是前兩個的結果與第三個合併進行處理以此類推

reload(module) 

重新加載模塊

setattr(object, name, value)

設置屬性值

repr(object) 

將一個對象變幻爲可打印的格式

slice()


staticmethod

聲明靜態方法是個註解

super(type[, object-or-type]) 

引用父類

type(object)

返回該object的類型

vars([object]) 

返回對象的變量若無參數與dict()方法類似

bytearray([source [, encoding [, errors]]])

返回一個byte數組
 1
如果source爲整數則返回一個長度爲source的初始化數組
 2
如果source爲字符串則按照指定的encoding將字符串轉換爲字節序列
 3
如果source爲可迭代類型則元素必須爲[0 ,255]中的整數
 4
如果source爲與buffer接口一致的對象則此對象也可以被用於初始化bytearray.

zip([iterable, ...]) 

實在是沒有看懂只是看到了矩陣的變幻方面

 

五、IO操作

file(filename [, mode [, bufsize]])

file類型的構造函數作用爲打開一個文件如果文件不存在且mode爲寫或追加時文件將被創建添加‘b’mode參數中將對文件以二進制形式操作添加‘+’mode參數中將允許對文件同時進行讀寫操作
 1
參數filename文件名稱
 2
參數mode'r'(讀)'w'(寫)'a'(追加)
 3
參數bufsize如果爲0表示不進行緩衝如果爲1表示進行行緩衝如果是一個大於1的數表示緩衝區的大小

input([prompt]) 

獲取用戶輸入
 
推薦使用raw_input因爲該函數將不會捕獲用戶的錯誤輸入

open(name[, mode[, buffering]]) 

打開文件
 
file有什麼不同推薦使用open

print

打印函數

raw_input([prompt]) 

設置輸入輸入都是作爲字符串處理

 

六、其他

help()--幫助信息

apply()buffer()coerce()intern()---這些是過期的內置函數,故不說明

 

七、後記

內置函數,一般都是因爲使用頻率比較頻繁或是是元操作,所以通過內置函數的形式提供出來,通過對python的內置函數分類分析可以看出來:基本的數據操作基本都是一些數學運算(當然除了加減乘除)、邏輯操作、集合操作、基本IO操作,然後就是對於語言自身的反射操作,還有就是字符串操作,也是比較常用的,尤其需要注意的是反射操作。

 


注:文章的內容來源於網上查找,已說明爲轉載文章,僅和大家一起分享

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