python中的內建函式整理
1、內建函式:Python中自帶的函式。
2、常用的內建函式:
---------------------- ------------------數學運算:-------------------------------------------------
(1)abs(x): 絕對值函式 # print(abs(-1))
(2)rand(x,n):取浮點數的近似值 # x: 浮點數 n:保留小數位數,可不寫,取整數。
(3)pow(x,y):求次方 # print(pow(3,3)) ,3的3次方。
(4)divmod(a,b):返回回商和餘: # divmod(9,3) 執行結果:(3,0)
(5)max(a,b,c):求最大值,可以是一個序列(元組或列表中最大的),也可以是幾個數之間 # prin(max([1,2,3,4])) or prin(max(1,2,3,4))
(6)sum(iterable,a):求和 # iterable為可迭代物件(可遍歷的),如:一個元組、列表、集合。 a:為相加的數,沒有預設為0.
(7)eval("表示式",字典物件):可以執行一個表示式,或一個函式。當要賦值時,後面需為一個字典物件。
例1:呼叫函式
def one():
print("eval呼叫函數了嗎?")
pass
eval("one()")
例2:執行表示式:
a,b,c = 1,2,3
print(eval("a+b-c"))
例3:執行表示式、賦值:
a,b,c = 1,2,3
print(eval("a+b+c", {"a":2,"b":3,"c":4} ))
---------------------------型別轉換函式---------------------------------------
(1)10機制轉換為2進位制:bin(num) # print(bin(10))
(2)10進位制轉換為16進位制:hex(num) # print(bin(10))
(3)元組轉換為列表:list(元組名) # tuple1= (1,2,3,4) li = list(tuple)
(4)列表轉換為元組:typle(列表名)
(5)轉換為字典:dic1 = dict(age=18, name="小花") # 輸出:{'age': 18, 'name': '小花'}
(6)位元組轉換:bytes("內容",encode("utf-8")) # 轉換為utf-8碼
(7)將數字轉換為對應的ASCII碼:chr(num) #
(8)轉換為布林型別:bool()
(9)轉換為8進位制:oct()
(10)轉換為字串:str()
---------------------------序列(字串、元組、列表)操作函式-----------------------------------------------
iterable可迭代引數:例如元組、列表、字串等。
(1)all(iterable):所有元素都不為0、空、FALSE(所有都為真),才返回true。 注意:空元組、空列表返回true。 # print(all([1,2,3,0])) # false
(2)any(iterable):只要有1個不是0、空、FALSE(只要有一個為真),就返回true。
(3)li.sort() 和 sorted(li): 排序。
<1>sort():只能對list進行排序,預設從小到大排,修改的是原始物件,可以直接輸出原來的。
li = [12,4,8,1,0]
li.sort()
print(li)
<2>sorted():可以對所有序列進行排序,預設從小到大排,排序後是建立一個新的物件,所以要再賦值輸出。
錯誤:輸出的仍為未排序:
li = [12,4,8,1,0]
sorted(li)
print(li)
正確:(列表)
li = [12,4,8,1,0]
li1 = sorted(li) # 從小到大
li2 = sorted(li,reverse = True) #從大到小
print(li1)
元組排序:
tuple1 = {1,2,6,0}
tuple2 = sorted(tuple1,reverse=True)
print(tuple2)
預設升序:sorted(li),,reverse =False ,reverse省略。
改為降序:sorted(li,reverse = True)
(4)reverse():反轉輸出
li = [3,1,0,9]
li.reverse()
print(li) # [9, 0, 1, 3]
(5)range(start,stop,step):建立一個整數序列,一般在for迴圈中使用.
(6)split(“ ”,num): 通過指定分隔符對字串進行分割,並返回一個列表,預設分隔符為所有空字元,包括空格、換行(\n)、製表符(\t)。num代表分隔成num+1份。
例:
str1 = "123 4 56 789"
print(str1.split(" ")) #編譯:['123', '4', '56', '789']
print(str1.split(" ",1)) # 編譯:['123', '4 56 789']
(6)zip():用來對應打包:
# s1 = ["a","b","c"]
# s2 = ["1","2"] # 當有一個元素少時,以元素少的個數為準對應。
# s3 = ["你","是","誰"]
# print(list(zip(s1,s2,s3))) # 編譯:[('a', '1', '你'), ('b', '2', '是')]
1 # zip()打包函式實現圖書資訊的錄用和管理。 2 def printBookInfo(): 3 """ 4 統一錄入圖書資訊,最後一每本形式輸出資訊。 5 :return: 6 """ 7 booksInfo = [] # 圖書總資訊。 8 9 id = input("請輸入圖書編號(以空格分開):") 10 bookName = input("請輸入對應圖書名字(以空格分開):") 11 bookPos = input("請輸入對應圖書貨架(以空格分開):") 12 13 idList = id.split(" ") # split() 通過指定分隔符(空格)對字串進行切片,預設返回一個列表,否則他會將空格也作為一個元素 14 bookNameList = bookName.split(" ") 15 bookPosList = bookPos.split(" ") 16 print(idList) 17 print(bookNameList) 18 print(bookPosList) 19 20 bookInfo = list(zip(idList,bookNameList,bookPosList)) # 將3個列表依次以列表形式對應打包,放入總圖書資訊中。 21 print(bookInfo) 22 23 for bookItem in bookInfo: 24 print(bookItem) # 遍歷輸出每一本圖書資訊。 25 dictBook = {"編號":bookItem[0],"書名":bookItem[1],"貨架":bookItem[2]} # 將元組型轉變為字典型。 26 print(dictBook) # 字典形式輸出。 27 pass 28 29 printBookInfo()
(7)enumerate():下標索引與元素對應輸出元組:
例1:
list1 = ["你好","在嗎","好的"]
for item in enumerate(list1):
print(item) # (0, '你好') (1, '在嗎') (2, '好的')
print(item[1]) # 你好 在嗎 好的
例2(分隔開來):
for index,item in enumerate(list1):
print(index) # 0 1 2