天天看點

python3常用内置函數彙總

1. abs()

文法:

  • abs( x )
               

參數:

  • x -- 數值表達式,可以是整數,浮點數,複數。

傳回值:

  • 函數傳回 x()的絕對值,如果參數是一個複數,則傳回它的大小。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


print("abs(-40) : ", abs(-40))
>>>abs(-40) :  40
print("abs(100.10) : ", abs(100.10))
>>>abs(100.10) :  100.1
           

2. all()

文法:

  • all(iterable)
               

參數:

  • iterable -- 可疊代對象(清單或元組)。

傳回值:

  • 如果iterable存在0,‘ ’,或False等元素,all(iterable)傳回False,否則傳回True;

    注意:是以空元組、空清單傳回值為True,這裡要特别注意。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-



>>> all(['a', 'b', '', 'd'])   # 清單list,存在一個為空的元素
False
>>> all([0, 1,2, 3])          # 清單list,存在一個為0的元素
False
   
>>> all(('a', 'b', '', 'd'))   # 元組tuple,存在一個為空的元素
False
>>> all((0, 1, 2, 3))          # 元組tuple,存在一個為0的元素
False

>>> all(('a', 'b', 'c', 'd'))  # 元組tuple,元素都不為空或0
True
>>> all(['a', 'b', 'c', 'd'])  # 清單list,元素都不為空或0
True   
>>> all([])             # 空清單
True
>>> all(())             # 空元組
True
           

3. any()

文法:

  • any(iterable)
               

參數:

  • iterable -- 元組或清單

傳回值:

  • 如果iterable中的存在不是空、0、false三者之一的元素,則傳回True,否則傳回False。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


>>>any(['a', 'b', 'c', 'd'])  # 清單list,元素都不為空或0
True
>>> any(['a', 'b', '', 'd'])   # 清單list,存在一個為空的元素
True
>>> any(('a', 'b', 'c', 'd'))  # 元組tuple,元素都不為空或0
True
>>> any(('a', 'b', '', 'd'))   # 元組tuple,存在一個為空的元素
True
 
>>> any([0, '', False])        # 清單list,元素全為0,'',false
False
>>> any((0, '', False))        # 元組tuple,元素全為0,'',false
False
>>> any([]) # 空清單
False
>>> any(()) # 空元組
False
           

4. ascii()

文法:

  • ascii(object)
               

參數:

  • object -- 對象。

傳回值:

  •  傳回一個表示該對象的字元串

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


>>> ascii('hello,world!')
"'hello,world!'"
           

6. bool()

文法:

  • bool(x)
               

參數:

  • x -- 要進行轉換的參數

傳回值:

  • 判斷一個參數對象True還是False,其中隻有0,False,None,‘ ’或者沒有參數傳回 False,其餘傳回True。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


>>>bool()
False
>>> bool(0)
False
>>> bool(“”)
False
>>>bool(None)
False
>>> bool(1)
True
>>>bool('a')
True
>>>bool(True)
True
>>> issubclass(bool, int)  # bool 是 int 子類
True
           

7. bytes()

文法:

  • class bytes([source[, encoding[, errors]]])
               

參數:

  • 如果 source 為整數,則傳回一個長度為 source 的初始化數組;
  • 如果 source 為字元串,則按照指定的 encoding 将字元串轉換為位元組序列;
  • 如果 source 為可疊代類型,則元素必須為[0 ,255] 中的整數;
  • 如果 source 為與 buffer 接口一緻的對象,則此對象也可以被用于初始化 bytearray。
  • 如果沒有輸入任何參數,預設就是初始化數組為0個元素。

傳回值:

  • 傳回一個新的 bytes 對象。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

>>>bytes()
b''
>>>bytes(2)
b'\x00\x00'
>>>bytes([1,2,3,4])
b'\x01\x02\x03\x04'
>>> bytes('hello','ascii')
b'hello'
           

8. callable()

文法:

  • callable(object)
               

參數:

  • object -- 對象。

傳回值:

  • 可調用傳回 True,否則傳回 False。
  • 如果傳回 True,object 仍然可能調用失敗;但如果傳回 False,調用對象 object 絕對不會成功。對于函數、方法、lambda 函式、 類以及實作了 __call__ 方法的類執行個體, 它都傳回 True。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


>>>callable(0)
False
>>> callable("hello")
False
 
>>> def add(a, b):
...     return a + b
... 
>>> callable(add)             # 函數傳回 True
True
>>> class A:                  # 類
...     def method(self):
...             return 0
... 
>>> callable(A)               # 類傳回 True
True
>>> class B:
...     def __call__(self):
...             return 0
...
>>> callable(B)
True
>>> b = B()
>>> callable(b)               # 執行個體實作 __call__, 傳回 True
True
>>> a = A()
>>> callable(a)               # 執行個體沒有實作 __call__, 傳回 False
False
           

9. chr()

文法:

  • chr(i)
               

參數:

  • i -- 可以是 10 進制也可以是 16 進制的形式的數字,數字範圍為 0 到 1,114,111 (16 進制為0x10FFFF)。

傳回值:

  •  傳回值是目前整數對應的 ASCII 字元。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


>>>chr(0x30)
'0'
>>> chr(97) 
'a'
>>> chr(8364)
'€'
           

10. @classmethod

文法:

  • @classmethod
               

參數:

傳回值:

  •  傳回函數的類方法
  • classmethod 修飾符對應的函數不需要執行個體化,不需要 self 參數,但第一個參數需要是表示自身類的 cls 參數,可以來調用類的屬性,類的方法,執行個體化對象等。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


class A(object):
    bar = 1
    def func1(self):  
        print ('foo') 
    @classmethod
    def func2(cls):
        print ('func2')
        print (cls.bar)
        cls().func1()   # 調用 foo 方法
 
A.func2()               # 不需要執行個體化
           

11. compile()

文法:

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

參數:

  • source -- 字元串或者AST(Abstract Syntax Trees)對象。。
  • filename -- 代碼檔案名稱,如果不是從檔案讀取代碼則傳遞一些可辨認的值。
  • mode -- 指定編譯代碼的種類。可以指定為 exec, eval, single。
  • flags -- 變量作用域,局部命名空間,如果被提供,可以是任何映射對象。。
  • flags和dont_inherit是用來控制編譯源碼時的标志

傳回值:

  •  傳回表達式執行結果。

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


>>> str = "3 * 4 + 5"
>>> a = compile(str,'','eval')
>>> eval(a)
17
           

12. delattr()

文法:

  • delattr(object, name)
               

參數:

  • object -- 對象。
  • name -- 必須是對象的屬性。

傳回值:

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

>>>class Coordinate:
...    x = 10
 
>>>point1 = Coordinate() 
>>>print('x = {}'.format(point1.x))(
x = 10
>>>delattr(Coordinate, 'x')
 
>>>print('--删除x屬性後--')
--删除x屬性後--
# 觸發錯誤
>>>print('x = {}'.format(point1.x))
Traceback (most recent call last):
  File "test.py", line 22, in <module>
    print('z = ',point1.z)
AttributeError: Coordinate instance has no attribute 'z'
           

13. zip()

文法:

  • zip([iterable, ...])
               

參數:

  • iterabl -- 一個或多個疊代器

傳回值:

  • 傳回一個對象

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


>>> zipped = zip([1,2,3],[4,5,6])     # 傳回一個對象
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped)          # list() 轉換為清單
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c))              # 元素個數與最短的清單一緻
[(1, 4), (2, 5), (3, 6)]
 
>>> a1, a2 = zip(*zip([1,2,3],[4,5,6]))          # 與 zip 相反,zip(*) 可了解為解壓,傳回二維矩陣式
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]
           

14. dict()

文法:

  • class dict(**kwarg)
    class dict(mapping, **kwarg)
    class dict(iterable, **kwarg)
               

參數:

  • **kwargs -- 關鍵字
  • mapping -- 元素的容器。
  • iterable -- 可疊代對象。

傳回值:

  • 傳回一個字典

執行個體:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

>>>dict()                        # 建立空字典
{}
>>> dict(a='a', b='b', t='t')     # 傳入關鍵字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3]))   # 映射函數方式來構造字典
{'three': 3, 'two': 2, 'one': 1} 
>>> dict([('one', 1), ('two', 2), ('three', 3)])    # 可疊代對象方式來構造字典
{'three': 3, 'two': 2, 'one': 1}
>>>