1. 程式人生 > >python ----內建函式

python ----內建函式

def abs(*args, **kwargs)
返回引數的絕對值。
a = -5
print(abs(a))      #列印結果:5

 

 

 
all(*args, **kwargs)
all() 函式用於判斷給定的可迭代引數 iterable 中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。
元素除了是 0、空、FALSE 外都算 TRUE。
PS:注意:空元組、空列表返回值為True,這裡要特別注意。
all(['a', 'b', 'c', 'd'])  # 列表list,元素都不為空或0
True
all([
'a'
, 'b', '', 'd']) # 列表list,存在一個為空的元素 False
all([0,
1,2, 3]) # 列表list,存在一個為0的元素 False
all((
'a', 'b', 'c', 'd')) # 元組tuple,元素都不為空或0 True
all((
'a', 'b', '', 'd')) # 元組tuple,存在一個為空的元素 False
all((0,
1, 2, 3)) # 元組tuple,存在一個為0的元素 False
all([])
# 空列表 True
all(())
# 空元組 True

 

 
any(*args, **kwargs)

any() 函式用於判斷給定的可迭代引數 iterable 是否全部為 False,則返回 False,如果有一個為 True,則返回 True。
元素除了是 0、空、FALSE 外都算 TRUE。
如果都為空、0、false,則返回false,如果不都為空、0、false,則返回true。
any(['a', 'b', 'c', 'd'])  # 列表list,元素都不為空或0
True
any([
'a', 'b', '', 'd']) # 列表list,存在一個為空的元素 True
any([0,
'', False]) # 列表list,元素全為0,'',false False
any((
'a', 'b', 'c', 'd')) # 元組tuple,元素都不為空或0 True
any((
'a', 'b', '', 'd')) # 元組tuple,存在一個為空的元素 True
any((0,
'', False)) # 元組tuple,元素全為0,'',false False
any([])
# 空列表 False
any(())
# 空元組 False

 



python中any()和all()如何使用
本質上講,any()實現了或(OR)運算,而all()實現了與(AND)運算。
更多:https://blog.csdn.net/cython22/article/details/78829288


ascii(*args, **kwargs)
ascii() 函式類似 repr() 函式, 返回一個表示物件的字串, 但是對於字串中的非 ASCII 字元則返回通過 repr() 函式使用 \x, \u 或 \U 編碼的字元。 生成字串類似 Python2 版本中 repr() 函式的返回值。
ascii('runoob')
 "'runoob'"   #列印結果

 


bin(*args, **kwargs)

返回一個整數 int 或者長整數 long int 的二進位制表示。
print(bin(13))   #列印結果:0b1101

 


bool(int)

Python 中布林值使用常量 True 和 False 來表示。
1、在數值上下文環境中,True 被當作 1,False 被當作 0,例如:
print(True+3)   #輸出結果:4
print(False+2)   #輸出結果:2

 

2、其他型別值轉換 bool 值時除了 ''、""、''''''、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False 為 False 外,其他都為 True 例如:
print(bool(-2))    #輸出結果:True

print(bool(''))     ##輸出結果:False

 



bytearray(object)

返回一個新位元組陣列。這個數組裡的元素是可變的,並且每個元素的值範圍: 0 <= x < 256。
 
 
 
a = [1,2,3]
print(bytearray(a))   #輸出結果:bytearray(b'\x01\x02\x03')
 


bytes(object)

返回一個新的 bytes 物件,該物件是一個 0 <= x < 256 區間內的整數不可變序列。它是 bytearray 的不可變版本。
 
 
 
a = [1,2,3]
print(bytes(a))   #輸出結果:b'\x01\x02\x03'
 

 


callable(i_e_, some_kind_of_function)

用於檢查一個物件是否是可呼叫的。如果返回True,object仍然可能呼叫失敗;但如果返回False,呼叫物件ojbect絕對不會成功。
對於函式, 方法, lambda 函式, 類, 以及實現了 __call__ 方法的類例項, 它都返回 True。
callable(0)
False
callable("runoob")
False
def add(a, b):
    ...
    return a + b

callable(add)  # 函式返回 True
True


class A:  #
    ...

    def method(self):

        ...
    return 0

callable(A)  # 類返回 True
True
a = A()
callable(a)  # 沒有實現 __call__, 返回 False
False


class B:
    ...

    def __call__(self):

        ...
    return 0



callable(B)
True
b = B()
callable(b)  # 實現 __call__, 返回 True
True

 


chr(*args, **kwargs)

用一個範圍在 range(256)內的(就是0~255)整數作引數,返回一個對應的字元。
可以是10進位制也可以是16進位制的形式的數字。
返回值是當前整數對應的ascii字元。

print(chr(0x61))  #輸出結果:a
print(chr(49))  #輸出結果:1

 


classmethod(object)

修飾符對應的函式不需要例項化,不需要 self 引數,但第一個引數需要是表示自身類的 cls 引數,可以來呼叫類的屬性,類的方法,例項化物件等。
class A(object):
    bar = 1

    def func1(self):
        print('foo')

    @classmethod
    def func2(cls):
        print('func2')
        print(cls.bar)
        cls().func1()  # 呼叫 foo 方法


A.func2()  # 不需要例項化

輸出結果:
func2
1
foo

 

 

compile(*args, **kwargs)

將一個字串編譯為位元組程式碼。
str = "3 * 4 + 5"
a = compile(str,'','eval')
print(eval(a))     #輸出結果:17

 


complex(object)

用於建立一個值為 real + imag * j 的複數或者轉化一個字串或數為複數。如果第一個引數為字串,則不需要指定第二個引數。。
 
 
 
complex(1, 2)
(1 + 2j)

complex(1)  # 數字
(1 + 0j)

complex("1")  # 當做字串處理
(1 + 0j)

# 注意:這個地方在"+"號兩邊不能有空格,也就是不能寫成"1 + 2j",應該是"1+2j",否則會報錯
complex("1+2j")
(1 + 2j)
 

 


delattr(x, y)

用於刪除屬性。
delattr(x, 'foobar') 相等於 del x.foobar。
class Coordinate:
    x = 10
    y = -5
    z = 0


point1 = Coordinate()

print('x = ', point1.x)
print('y = ', point1.y)
print('z = ', point1.z)

delattr(Coordinate, 'z')

print('--刪除 z 屬性後--')
print('x = ', point1.x)
print('y = ', point1.y)

# 觸發錯誤
print('z = ', point1.z)

輸出結果:

('x = ', 10)
('y = ', -5)
('z = ', 0)
--刪除 z 屬性後--
('x = ', 10)
('y = ', -5)
Traceback (most recent call last):
  File "test.py", line 22, in <module>
    print('z = ',point1.z)
AttributeError: Coordinate instance has no attribute 'z'