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 來表示。
一、在數值上下文環境中,True 被看成 1,False 被看成 0,例如:
print(True+3)   #輸出結果:4
print(False+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'

 

 
class dict(object)

字典是另外一種可變容器模型,且可存儲任意類型對象。
字典的每一個鍵值 key=>value 對用冒號 : 分割,每一個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式以下所示:
d = {key1 : value1, key2 : value2 }鍵通常是惟一的,若是重複最後的一個鍵值對會替換前面的,值不須要惟一。
dict = {'a': 1, 'b': 2, 'b': '3'};
dict['b']
'3'
dict
{'a': 1, 'b': '3'}
值能夠取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。

一個簡單的字典實例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此建立字典:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
把相應的鍵放入熟悉的方括弧,以下實例:

實例
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print
"dict['Name']: ", dict['Name'];
print
"dict['Age']: ", dict['Age'];
以上實例輸出結果:
dict['Name']: Zara
dict['Age']: 7

 

若是用字典裏沒有的鍵訪問數據,會輸出錯誤以下:

實例
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print
"dict['Alice']: ", dict['Alice'];
以上實例輸出結果:

dict['Alice']:
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

 

修改字典
向字典添加新內容的方法是增長新的鍵/值對,修改或刪除已有鍵/值對以下實例:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8;  # update existing entry
dict['School'] = "DPS School";  # Add new entry

print
"dict['Age']: ", dict['Age'];
print
"dict['School']: ", dict['School'];

 

以上實例輸出結果:
dict['Age']:  8
dict['School']:  DPS School

 

刪除字典元素
能刪單一的元素也能清空字典,清空只需一項操做。

顯示刪除一個字典用del命令,以下實例:

實例
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

del dict['Name'];  # 刪除鍵是'Name'的條目
dict.clear();  # 清空詞典全部條目
del dict;  # 刪除詞典

print
"dict['Age']: ", dict['Age'];
print
"dict['School']: ", dict['School'];

 

但這會引起一個異常,由於用del後字典再也不存在:
dict['Age']:
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
注:del ()
方法後面也會討論。


字典鍵的特性
字典值能夠沒有限制地取任何python對象,既能夠是標準的對象,也能夠是用戶定義的,但鍵不行。

兩個重要的點須要記住:

1)不容許同一個鍵出現兩次。建立時若是同一個鍵被賦值兩次,後一個值會被記住,以下實例:

實例
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};

print
"dict['Name']: ", dict['Name'];
以上實例輸出結果:

dict['Name']: Manni

 

2)鍵必須不可變,因此能夠用數字,字符串或元組充當,因此用列表就不行,以下實例:

實例
dict = {['Name']: 'Zara', 'Age': 7};

print
"dict['Name']: ", dict['Name'];
以上實例輸出結果:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable

 

 

def dir(p_object=None)
dir() 函數不帶參數時,返回當前範圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。若是參數包含方法__dir__(),
該方法將被調用。若是參數不包含__dir__(),該方法將最大限度地收集參數信息。
print(dir())   #['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']

 

 

def divmod(x, y)
把除數和餘數運算結果結合起來,返回一個包含商和餘數的元組(a // b, a % b)。
print(divmod(7,2))  #(3, 1)     商3,餘1

print(divmod(8,2))  #(4, 0)     商4,餘0

 

 

class enumerate(object)
用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,通常用在 for 循環當中。
 
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1))       # 下標從 1 開始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
 
i = 0
seq = ['one', 'two', 'three']
for element in seq:
    print (i, seq[i])
    i +=1

輸出結果:
0 one
1 two
2 three

 



def eval(*args, **kwargs)
用來執行一個字符串表達式,並返回表達式的值。
x = 7
print(eval('3 * x'))

print(eval('pow(2,2)'))

print(eval('2 + 2'))

n =81
print(eval("n + 4"))

輸出結果:
21
4
4
85

 

 

def exec(*args, **kwargs)
執行儲存在字符串或文件中的 Python 語句,相比於 eval,exec能夠執行更復雜的 Python 代碼。
返回值
exec 返回值永遠爲 None。
exec('print("Hello World")')
exec("print ('runoob.com')")

 

多行語句字符串
exec("""for i in range(5):
      print ("iter time: %d" % i)
   """)

 

輸出結果:
Hello World
runoob.com
iter time: 0
iter time: 1
iter time: 2
iter time: 3
iter time: 4

 

 

class filter(object)
filter() 函數用於過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,若是要轉換爲列表,能夠使用 list() 來轉換。
該接收兩個參數,第一個爲函數,第二個爲序列,序列的每一個元素做爲參數傳遞給函數進行判,而後返回 True 或 False,最後將返回 True 的元素放到新列表中。
返回一個迭代器對象
def is_odd(n):
    return n % 2 == 1


tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)
相關文章
相關標籤/搜索