作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。
Python內建(built-in)函數隨著python解譯器的運行而建立。在Python的程式中,你可以隨時調用這些函數,不需要定義。最常見的內建函數是:
print("Hello World!")
在Python教程中,我們已經提到下面一些內建函數:
基礎資料型別 (Elementary Data Type) 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]
類,對象,屬性
# 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() # 返回局部命名空間