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}
>>>