1. 程式人生 > 其它 >python3 中的內建函式

python3 中的內建函式

python3 中的內建函式
內建函式就是python給提供的,拿來直接用的函式,例如print ,input 等。
截至到python版本3.6.2 ,python 一共提供了68個內建函式,具體如下

本文將這68個內建函式綜合整理分為12 大類,正在學習python基礎的小夥伴大家一定不要錯過,建議點贊收藏學習,同時歡迎各位大佬糾正錯誤,謝謝大家!

一,和數字相關

1,資料型別

bool:布林型(True, False)

int: 整形(整數)

float:浮點型(小數)

complex : 複數

2,進位制轉換

bin() 將給的引數轉換成為二進位制

oct() 將給的引數轉換成為八進位制

hex() 將給的引數轉換成為十六進位制
""" 進位制轉換"""
print(bin(10))  # 十進位制轉二進位制

print(oct(10))  # 十進位制轉八進位制

print(hex(10))  # 十進位制轉十六進位制


3,數學運算

abs() 返回絕對值

divmod() 返回商和餘數

round() 四捨五入

pow(a, b) 求a的b次冪, 如果有三個引數,則求完全次冪後對第三個數取餘

sum() 求和
 
min() 求最小值

max() 求最大值

""" 數學運算 """
print(abs(-65))  # 絕對值65

print(divmod(20, 3))  # 求商和餘數:(6,2)

print(round(4.50))  # 五舍六入 : 4

print(round(4.51))  # 5

print(pow(10, 2, 3))  # 如果給了第三個引數, 表示最後取餘: 1

print(sum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))  # 求和:55

print(min(5, 6, 7, 8, 9, 3, 2, 10))  # 求最小值 2

print(max(1, 2, 4, 5, 6, 8, 7, ))  # 求最大值 8

二,和資料結構相關

1.序列

(1)列表和元組
list() 將一個可迭代物件轉換成列表
tuple()將一個可迭代物件轉換成元組

"""列表和元組"""
print(list((1, 2, 3, 4, 5, 6, 7, 8)))
print(type((list((1, 2, 3, 4, 5, 6, 7, 8)))))

print(tuple([1, 2, 3, 4, 5, 6, 7, 8]))
print(type((tuple([1, 2, 3, 4, 5, 6, 7, 8]))))


(2)相關內建函式
reversed()將一個序列翻轉,返回翻轉序列的迭代器
slice()列表的切片

"""相關的內建函式"""
lst = "你好呀"
lt = reversed(lst)  # 不會改變原來列表,返回一個迭代器,設計上的一個規則
print((list(lt)))  # ['呀', '好', '你']

lst = [1, 2, 3, 4, 5, 6, 7]
print(lst[1:3:1])  # [2,3]

s = slice(1, 3, 1)  # 切片用的
print(lst[s])  # [2,3]


(3)字串

str()將資料轉換成字串

bytes()ba字串轉換成為bytes型別

ord() 輸入字元找帶字元編碼的位置

chr() 輸入位置數字找出對應的字元

ascii() 是ascii碼中的返回值  不是就返回u

repr() 返回一個物件的string形式

2.資料集合

字典: dict 建立一個字典
集合: set建立一個集合
frozenset()建立一個凍結的集合,凍結的集合不能進行新增和刪除操作。

3.相關的內建函式

len() 返回一個物件中的元素的個數
sorted() 對可迭代物件進行排序操作(lamda)
語法: sorted(lterable, key = 函式(排序規則),reverse = False)

lterable:可迭代物件
key:排序規則(排序函式),在sorted內部會將可迭代物件中的每一個元素傳遞給這個函式的引數。根據函式運算的結束進行排序
reverse: 是否是倒敘。True:倒敘,False:正序

enumerate()獲取集合的列舉物件

all()可迭代物件中全部是True ,結果才是True

any()可迭代物件中有一個是True, 結果就是True

zip()函式用於將可迭代的物件作為引數,將物件中對應的元素打包成一個元組,然後返回由這些元組組成的列表,如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同

filter() 過濾(lamda)
語法: fiter(function.lterable)


三,和作用域相關

四,和迭代器和生成器相關

五,字串型別程式碼的執行

六,輸入與輸出

七,記憶體相關

八,檔案操作相關

九,模組相關

十,幫助

十一,呼叫相關

十二,檢視內建屬性

詳細說明

1.abs() 函式

abs() 函式返回數字的絕對值。

abs() 函式返回數字的絕對值。

引數 x -- 數值表示式,可以是整數,浮點數,複數。

返回值
函式返回 x(數字)的絕對值,如果引數是一個複數,則返回它的大小。


輸入是複數(complex number)時, 返回這個複數的模。

Python fabs() 與 abs() 區別

Python 中 fabs(x) 方法返回 x 的絕對值。雖然類似於 abs() 函式,但是兩個函式之間存在以下差異:

abs() 是一個內建函式,而 fabs() 在 math 模組中定義的。
fabs() 函式只適用於 float 和 integer 型別,而 abs() 也適用於複數。

2. divmod() 函式

python divmod() 函式把除數和餘數運算結果結合起來,返回一個包含商和餘數的元組(a // b, a % b)。

在 python 2.3 版本之前不允許處理複數。

3. input() 函式

Python3.x 中 input() 函式接受一個標準輸入資料,返回為 string 型別。

4. open() 函式

python open() 函式用於開啟一個檔案,建立一個 file 物件,相關的方法才可以呼叫它進行讀寫。

15.sorted() 函式

對所有可迭代的物件進行排序操作

sort 與sorted區別:

sort 是應用在list上的方法 sorted可以對所以可迭代的物件進行排序操作

list的sort方法返回的是對已經存在的列表進行操作,而內建函式sorted方法返回的是一個新的list ,而不是在原來的基礎上進行的操作

語法

sorted 語法:

sorted(iterable, key = None, reverse = False)

引數說明:

  • iterable -- 可迭代物件。
  • key -- 主要是用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。
  • reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(預設)。

返回值

返回重新排序的列表。

例項

以下例項展示了 sorted 的最簡單的使用方法:

print(sorted([5, 2, 3, 1, 4]))  # 預設為升序
-------------------------------------------
[1, 2, 3, 4, 5]

你也可以使用 list 的 list.sort() 方法。這個方法會修改原始的 list(返回值為None)。通常這個方法不如sorted()方便-如果你不需要原始的 list,list.sort()方法效率會稍微高一些。

a = [5, 2, 3, 1, 4]
print(a.sort())
print(a)
---------------------------
None
[1, 2, 3, 4, 5]

另一個區別在於list.sort() 方法只為 list 定義。而 sorted() 函式可以接收任何的 iterable。

print(sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}))
-------------------------------------------------------
[1, 2, 3, 4, 5]

利用key進行倒序排序

example_list = [5, 0, 6, 1, 2, 7, 3, 4]
result_list = sorted(example_list, key=lambda x: x*-1)
print(result_list)
---------------------------------------------------------
[0, 1, 2, 3, 4, 5, 6, 7]

例子

  1. sorted 的應用,也可以通過 key 的值來進行陣列/字典的排序,比如:
array = [{"age":20,"name":"a"},{"age":25,"name":"b"},{"age":10,"name":"c"}]
array = sorted(array,key=lambda x:x["age"])
print(array)
  1. 使用lambda和sorted將列表裡字串排序按照字串中的數字從小到大排列。
lis = ["PCR 0: Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions",
       "PCR 9: NTFS Boot Block",
       "PCR 2: Option ROM Code",
       "PCR 10: Boot Manager",
       "PCR 4: Master Boot Record (MBR) Code",
       "PCR 8: NTFS Boot Sector",
       "PCR 11: BitLocker Access Control"]

print(sorted(lis, key=lambda x: int(x.split(':')[0][4:])))
  1. 先按照成績降序排序,相同成績的按照名字升序排序:
list1 = [{'name': 'Alex', 'score': 48}, {'name': 'Harry', 'score': 18}, {'name': 'JSON', 'score': 28},
         {'name': 'christ', 'score': 38}]
print(sorted(list1, key=lambda x: (-x['score'], x['name'])))