1. 程式人生 > >Python-常用的內建函式

Python-常用的內建函式

Python在設計上堅持了清晰劃一的風格,這使得Python成為一門易讀、易維護,並且被大量使用者所歡迎的、用途廣泛的語言。接下來,記錄一些本人自主學習Python的一些筆記:

all

一個可迭代物件的所有元素都為真,則返回True

print(all([1,2,3]))   # True
print(all([0,1,2]))   # False

any

一個可迭代物件中只要有一個元素為真,則返回True

print(any([1,0,0]))     # True
print(any([0]))         # False

bin

將一個十進位制數字轉化成一個二進位制數字的字串

print(bin(2))   # 0b10

hex

將一個十進位制數字轉化成一個十六進位制數字的字串

print(hex(2))   # 0x2

oct

將一個十進位制數字轉化成一個八進位制數字的字串

print(oct(8))   # 0o2

callable

判斷一個物件是否是可以被呼叫的,那麼什麼樣才是可被呼叫的呢,即類似於“test()”這樣的寫法。函式與類皆可以被呼叫

b = 2
def func():
    pass
print(callable(b),callable(func))   # False True

exec

將一串程式碼字串,以程式碼的形式執行

code = '''
n = 0
while n < 10:
    print(n)
    n+=1
'''
exec(code)

執行結果:

image

eval

將一串基本資料型別的字串,轉化成基本資料型別

s_list = "[1,2,3,4]"
l = eval(s_list)    # 此時l已經是一個列表物件了
print(l[0])         # 1

dir

檢視某個型別下的所有方法

l = [1,2,3]
print(dir(l))   # 此時將會列印列表的所有方法

divmod

獲取兩個數相除後的商和餘數

print(divmod(5
,2)) # 結果:(2,1)。5除以2得到商2,餘數為1

max

獲取某個可迭代物件的最大值

print(max([4,3,2,8]))   # 結果:8

min

獲取某個可迭代物件的最小值

print(min([4,3,2,8]))   # 結果:2

sum

獲取某個可迭代物件的和

print(sum([4,3,2,8]))   # 結果:17

pow(a,b)

獲取a的b次方

print(pow(3,3))     # 結果:27

type

檢視資料型別

print(type("abc"))  # 結果:<class 'str'>

round

保留小數

print(round(1.345,2))   # 結果:1.34

filter

將一個可迭代物件按某種特定方式過濾,生成一個新的可迭代物件

f = filter(lambda x : x > 5,range(10))
for index in f:
    print(index)    # 列印結果:6,7,8,9

map

將一個可迭代物件按某種特定方式處理,生成一個新的可迭代物件。效果與列表生成式一樣

m = map(lambda x : x * 2,range(10))
for index in m:
    print(index)

# 列表生成式寫法
l = [x * 2 for x in range(10)]
for index in l:
    print(index)

執行結果:

image

frozenset

將一個可迭代物件轉化成一個不可變的,如將列表原來可以呼叫append方法,轉化以後將不可呼叫append方法

sorted

排序

# 列表的排序
l = [3,2,4,8]
print(sorted(l))    # 結果:[2,3,4,8]

# 字典的排序。眾所周知,字典是無序的,首先先將字典轉化成一個元組列表,在根據key或者value排序
d = {"b":2,"d":1,"a":4}
l = sorted(d.items())   # 根據key排序
print(l)    # 結果:[('a', 4), ('b', 2), ('d', 1)]

l = sorted(d.items(),key=lambda x:x[1])   # 根據value排序
print(l)    # 結果:[('d', 1), ('b', 2), ('a', 4)]

zip

將兩個或多個列表拼接成一個元組列表

list_1 = [1,2,3,4]
list_2 = ['a','b','c','d']
z = zip(list_1,list_2)
for index in z:
    print(index)

執行結果:

image

__import__

相當於import,只不過import()中傳入的模組的字串名稱