Python內建(built-in)函式隨著python直譯器的執行而建立。在Python的程式中,你可以隨時呼叫這些函式,不需要定義。最常見的內建函式是:
print(“Hello World!”)
在Python教程中,我們已經提到下面一些內建函式:
基本資料型別 type()
反過頭來看看 dir() help() len()
詞典 len()
文字檔案的輸入輸出 open()
迴圈設計 range() enumerate() zip()
迴圈物件 iter()
函式物件 map() filter() reduce()
下面我採取的都是實際的引數,你可以直接在命令列嘗試效果。
數學運算
abs(-5) # 取絕對值,也就是5
round(2.6) # 四捨五入取整,也就是3.0
pow(2, 3) # 相當於2**3,如果是pow(2, 3, 5),相當於2**3 % 5
cmp(2.3, 3.2) # 比較兩個數的大小
divmod(9,2) # 返回除法結果和餘數
max([1,5,2,9]) # 求最大值
min([9,2,-4,2]) # 求最小值
sum([2,-1,9,12]) # 求和
型別轉換
int(“5”) # 轉換為整數 integer
float(2) # 轉換為浮點數 float
long(“23”) # 轉換為長整數 long integer
str(2.3) # 轉換為字串 string
complex(3, 9) # 返回複數 3 + 9i
ord(“A”) # “A”字元對應的數值
chr(65) # 數值65對應的字元
unichr(65) # 數值65對應的unicode字元
bool(0) # 轉換為相應的真假值,在Python中,0相當於False
在Python中,下列物件都相當於False: [], (), {}, 0, None, 0.0, ”
bin(56) # 返回一個字串,表示56的二進位制數
hex(56) # 返回一個字串,表示56的十六進位制數
oct(56) # 返回一個字串,表示56的八進位制數
list((1,2,3)) # 轉換為表 list
tuple([2,3,4]) # 轉換為定值表 tuple
slice(5,2,-1) # 構建下標物件 slice
dict(a=1,b=”hello”,c=[1,2,3]) # 構建詞典 dictionary
序列操作
all([True, 1, “hello!”]) # 是否所有的元素都相當於True值
any([“”, 0, False, [], None]) # 是否有任意一個元素相當於True值
sorted([1,5,3]) # 返回正序的序列,也就是[1,3,5]
reversed([1,5,3]) # 返回反序的序列,也就是[3,5,1]
類,物件,屬性
1 2 3 4 5 6 7 8 9 |
# define class class Me(object): def test(self): print "Hello!" def new_test(): print "New Hello!" me = Me() |
hasattr(me, “test”) # 檢查me物件是否有test屬性
getattr(me, “test”) # 返回test屬性
setattr(me, “test”, new_test) # 將test屬性設定為new_test
delattr(me, “test”) # 刪除test屬性
isinstance(me, Me) # me物件是否為Me類生成的物件 (一個instance)
issubclass(Me, object) # Me類是否為object類的子類
編譯,執行
repr(me) # 返回物件的字串表達
compile(“print(‘Hello’)”,’test.py’,’exec’) # 編譯字串成為code物件
eval(“1 + 1”) # 解釋字串表示式。引數也可以是compile()返回的code物件
exec(“print(‘Hello’)”) # 解釋並執行字串,print(‘Hello’)。引數也可以是compile()返回的code物件
其他
input(“Please input:”) # 等待輸入
globals() # 返回全域性名稱空間,比如全域性變數名,全域性函式名
locals() # 返回區域性名稱空間