天天看點

python内置函數

  • abs() # 取絕對值
  • all()  #參數為序列,參數為list就判斷所有元素,參數為dict就判斷所有key,都為真則為真。
  • any() #判斷參數中一個為真,則為真。
  • ascii()#同各資料類型方法中的__repr__(),傳回一個可列印的對象字元串方式表示。當遇到非ASCII碼時,就會輸出\x,\u或\U等字元來表示       
print(ascii(10), ascii(9000000), ascii('b\31'), ascii('0x\1000'))  
結果:10   9000000   'b\x19'   '0x@0'      
  • bin()#轉換為二進制
  • bool()#判斷參數真或假
  • bytearray() #把參數轉換為指定編碼的位元組碼,傳回位元組數組。
  • byte() #把參數轉換為指定編碼的位元組碼,傳回字元串。
  • callable() #判斷是否可以執行,是否是一個方法
  • chr() #将數字轉換成ascii碼的字元。ord()函數可以轉換回來。
  • classmethod()#
  • compile()#編譯,web架構中把字元串 編譯成python代碼。
  • complex() #複數定義
  • delattr() ,getattr(), hasattr() ,setattr() #反射
  • dict() # 字典定義
  • dir() # 不帶參數時,傳回目前範圍内的變量、方法和定義的類型清單;帶參數時,傳回參數的屬性、方法清單。如果參數包含方法__dir__(),該方法将被調用。如果參數不包含__dir__(),該方法将最大限度地收集參數資訊。vars() # 則傳回目前範圍内可用變量和變量的值。
  • divmod() #取商/餘數
  • enumerate() #在循環輸出的字元前添加整數序号,可指定從幾開始。
>>>li=['lu','c','ya']
>>>for i in enumerate(li,1):    
    print(i)
結果:    
(1,'lu')
(2,'c')
(3,'ya')      
  • eval()#動态地執行一個表達式的字元串
>>>x = 1
>>> print eval('x+1')

2      
  • exec() #用來執行儲存在字元串或檔案中的Python語句  execfile()可以執行一個檔案中的python代碼
             
>>>exec 'print "Hello World"'
 Hello World      
  • fileter() #filter(function

        or None, sequence) -> list, tuple, or string

    • 對sequence中的item依次執行function(item),将結果為true的item組成一個list\tuple\string取決sequence的類型,把結果為false的過濾出去。
>>> filter(lambda x : x%2,range(10))       
#lambda 函數傳回奇數,傳回清單
[1, 3, 5, 7, 9]
>>> filter(lambda x : x!='z','zhoujy')     #labmda傳回True值
'houjy'      
  • reduce()#reduce(function,

        sequence[, initial]) -> value

    • 對sequence中的item順序疊代調用function,函數必須要有2個參數。要是有第3個參數,則表示初始值,可以繼續調用初始值,傳回一個值。
>>> reduce(lambda
x,y:x*y,range(1,3),5)           #lambda 函數,5是初始值, 1*2*5
10
>>>
reduce(lambda x,y:x*y,range(1,6))             #階乘,1*2*3*4*5
120
>>>
reduce(lambda x,y:x*y,range(1,6),3)           #初始值3,結果再*3
360
>>> reduce(lambda
x,y:x+y,[1,2,3,4,5,6])         
#1+2+3+4+5+6
21      
  • map()#map(function,

        sequence[, sequence, ...]) -> list

    • 對sequence中的item依次執行function(item),執行結果輸出為list。
>>>
     def add(n):return n+n

          ... 

          >>> map(add, range(5))           #對range(5)各項進行add操作

          [0, 2, 4, 6, 8]
>>> map(add,'zhoujy')            
['zz', 'hh', 'oo', 'uu', 'jj', 'yy']
>>>
map(add,'zhoujy','Python','testop')
['zPt', 'hye', 'ots', 'uht', 'joo', 'ynp']      
  • float() #轉換浮點數
  • format() #字元串格式化
>>>
     s='{name} is {actor}'
>>> print
(s.format(name='cyalu',actor='nanshen'))
cyalu is nanshen
>>>dic={'name':'cyalu','actor':'nanshen'}
>>>s.format(**dic)
cyalu is nanshen
>>>list=['cyalu','nanshen']
>>>s='{0} is {1}'
>>>s.format(*list)
cyalu is nanshen      
  • frozenset() #當機集合,不可變。沒有add,remove方法。好處可以用作字典的key。
  • globals() #目前所有的全局變量
  • hash() #傳回對象的哈希值。傳回的哈希值是使用一個整數表示,通常使用在字典裡,以便實作快速查詢鍵值。參數object輸入是數字類型時,是根據數值來計算的,比如1和1.0計算出來是一樣的哈希值,是以說這個函數是不區分不同的數值類型。
print(hash('abc'))
700737775
print(hash(2.0))
2
print(hash(2))
2      
  • help() # 幫助檢視可用方法
  • hex() # 轉成16進制 (0x)開頭即為16進制數
  • id() # 檢視對象在記憶體位址
  • input() #擷取互動輸入
  • int() #轉換成整型
  • isinstance() #判斷對象類型
    • isinstance 和

           type的差別在于:對于subclass之類的 type就不行了,是以,強烈建議不要使用type判斷對象類型。

class
     A:
           pass
class B(A):
          pass
isinstance(A(), A)  # returns True
type(A()) ==
A      # returns True
isinstance(B(), A)    #
returns True
type(B()) ==
A        # returns False      
  • issubclass() #本函數用來判斷類參數class是否是類型參數classinfo的子類。
class Line:  
    pass  
class RedLine(Line):  
    pass  
      
class Rect:  
    pass  
      
print(issubclass(RedLine, Line))
True
print(issubclass(Rect, Line))
False      
  • iter() #
s = '軟體是北京的未來'   #s是一個iterable對象,它有__getitem__()方法  
  
it = iter(s)             #it是一個iterator對象,它有 __next__()和__iter__()方法  
  
print(s)  
print(it.__next__())  軟 
print(it.__next__())  件
print(it.__next__())  是      
  • len() #取長度
  • list() # 清單
  • locals() #檢視所有局部變量
  • max() # 取最大值
  • min() # 取小值
  • memoryview() #本函數是傳回對象obj的記憶體檢視對象。所謂記憶體檢視對象,就是對象符合緩沖區協定的對象,為了給别的代碼使用緩沖區裡的資料,而不必拷貝,就可以直接使用。
  • next() # 下一項
  • oct() # 轉成8進制(0o)開頭為8進制
  • open() #操作檔案
with open("user",a)as f:
f.seek()#指定目前指針位置
f.tell()#檢視目前指針位置
f.read() #預設全讀,傳參指定讀取字元      
  • pow() #幂
math.pow(2,4)  #2的4次方
16.0      
  • print() # 列印
  • range() # 取範圍内的整數
  • reversed() # 反轉
  • round() # 四舍五入
  • set() # 集合
  • slice() # 本函數是實作切片對象,主要用在切片操作函數裡的參數傳遞。
myslice = slice(5)  
print(myslice)  
slice(None, 5, None)
l = list(range(10))  
print(l[myslice])  
[0, 1, 2, 3, 4]      
  • sorted() # 排序
  • str() # 字元串
  • sum() # 求和
  • tuple() #元組
  • zip() #接受任意多個(包括0個和1個)序列作為參數,傳回一個tuple清單。
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
print xyz
[(1,
4, 7), (2, 5, 8), (3, 6, 9)]      
  • __import__() #  轉到:python __import__()