管理系統(tǒng)門(mén)戶網(wǎng)站開(kāi)發(fā)路線網(wǎng)絡(luò)平臺(tái)推廣
前言
Python 內(nèi)置了許多的函數(shù)和類型,比如print(),input()等,我們可以直接在程序中使用它們,非常方便,并且它們是Python解釋器的底層實(shí)現(xiàn)的,所以效率是比一般的自定義函數(shù)更有效率。目前共有71個(gè)內(nèi)置函數(shù), 接下來(lái)讓我們一起來(lái)看一看吧。
Python學(xué)習(xí)-71個(gè)內(nèi)置函數(shù),我們把這71個(gè)按照功能分類一下,便于記憶。
一、輸入輸出
- print():打印輸出文本
- input():獲取用戶輸入文本
print('hello world')
#控制臺(tái)輸出 hello worlds = input('等待你的輸入:')
print('你輸入的內(nèi)容是' + s)
#再與用戶交互中可以使用input來(lái)獲取到用戶的指令。
二、基本數(shù)據(jù)類型
1、數(shù)字
- int():整型
# 直接賦值
a = 1# 類型轉(zhuǎn)換
b = int('2')
- float():浮點(diǎn)型
# 直接賦值
a = 1.0# 類型轉(zhuǎn)換
b = float('2.0')
- bool():布爾型
# 直接賦值
a = True# 類型轉(zhuǎn)換
b = bool(0)
- complex():復(fù)數(shù)類型
# 復(fù)數(shù)類型結(jié)構(gòu)為 a + bj,其中 a 為實(shí)部,b 為虛部
data1 = 1 + 2j
data2 = 2 + 3j
print("data1 + data2 :", data1 + data2)
# 運(yùn)行結(jié)果
# data1 + data2 : (3+5j)
2、字符串
- str():字符串類型
# 直接賦值
str1 = 'abcd'# 類型轉(zhuǎn)換
string = str(123456)
3、列表
- list():列表類型,將一個(gè)可迭代對(duì)象轉(zhuǎn)換為列表
# 直接賦值,用中括號(hào)包裹,用逗號(hào)分隔元素
list1 = [1, 2, 3, 4, 5]# 可以利用range函數(shù)賦值
list2 = list(range(1, 10))
4、元組
- tuple():元組類型,將一個(gè)可迭代對(duì)象轉(zhuǎn)換為元組
# 直接賦值,使用小括號(hào)包裹,用逗號(hào)分隔元素(小括號(hào)其實(shí)也可以省略)
tuple1 = ("Python教程", "學(xué)習(xí)Python")# 使用tuple函數(shù)創(chuàng)建
tuple2 = tuple("hello")
5、集合
- set():集合類型,創(chuàng)建一個(gè)集合
# set集合接受可迭代對(duì)象作為參數(shù)
set1 = set([1, 2, 3, 4, 5])
set2 = set(('python', 'xiaolong'))
6、字典
- dict():字典類型,創(chuàng)建一個(gè)字典
# 直接賦值,使用花括號(hào)包裹,key和value中間使用冒號(hào),用逗號(hào)分隔元素
dict1 = {'品類': '蘋(píng)果', '價(jià)格': '10'}# 使用zip函數(shù)將兩個(gè)列表轉(zhuǎn)為字典
keys = ['蘋(píng)果', '梨', '香蕉']
values = [10, 20, 30]
dict2 = dict(zip(keys, values))
三、數(shù)學(xué)運(yùn)算
- abs():返回絕對(duì)值
a = abs(-11)
- divmod():返回商和余數(shù)
a = divmod(5, 3)print(a) # (1, 2)
- round():四舍五入
a = round(10.2453, 2)print(a) # 10.25
- pow(a,b):返回a的b次冪,如果有第三個(gè)參數(shù),則求完冪次后對(duì)第三個(gè)數(shù)取余
a = pow(10, 2)print(a) # 100
- sum():求和
list1 = [1, 2, 3, 4, 5]
a = sum(list1)print(a) # 15
- min():求最小值
list1 = [1, 2, 3, 4, 5]
a = min(list1)print(a) # 1
- max():求最大值
list1 = [1, 2, 3, 4, 5]
a = max(list1)print(a) # 5
四、進(jìn)制轉(zhuǎn)換
- bin():將給定的參數(shù)轉(zhuǎn)換為二進(jìn)制
a = bin(6)
print(a) # 0b110 6的二進(jìn)制是110
- oct():將給定的參數(shù)轉(zhuǎn)換為八進(jìn)制
a = oct(8)
print(a) # 0o10
- hex():將給定的參數(shù)轉(zhuǎn)換為十六進(jìn)制
a = hex(8)
print(a) # 0x8
五、序列集合操作
- reversed():將一個(gè)序列翻轉(zhuǎn),返回一個(gè)反向的迭代器
# reversed接受一個(gè)序列參數(shù),返回的是一個(gè)逆迭代對(duì)象,所以需要在使用序列再轉(zhuǎn)換回去
list1 = [1, 2, 3, 4, 5]
print(list(reversed(list1)))# 輸出[5, 4, 3, 2, 1]
- slice():列表的切片
# slice主要做序列切片,可以從其中切取部分重新組成新的序列
list1 = [1, 2, 3, 4, 5]
s = slice(1, 3)
print(list1[s])# 推薦使用簡(jiǎn)寫(xiě)方式:lst[start:stop]
list1 = [1, 2, 3, 4, 5]
print(list1[1:3])
- bytes():把字符串轉(zhuǎn)化為bytes類型
b = bytes('hello world', encoding='utf-8')
print(b) # b'@\xe7\xa8\x8b\xe5\xba\x8f\xe5\x91\x98\xe5\xb0\x8f\xe9\xbe\x99'
- ord():輸入字符找到對(duì)應(yīng)編碼的位置
print(ord('a')) # 97
print(ord('小')) # 31243
- chr():輸入位置數(shù)字找出對(duì)應(yīng)的字符
# 輸出33~1000數(shù)字對(duì)應(yīng)的字符
for i in range(33, 1000):print(chr(i), end=' ')
- ascii():將Unicode字符串轉(zhuǎn)換為ASCII字符串
print(ascii('Hello World\n'))#'Hello,@\u7a0b\u5e8f\u5458\u5c0f\u9f99\n'
- repr():返回一個(gè)對(duì)象的字符串形式
# repr原樣輸出,會(huì)過(guò)濾掉轉(zhuǎn)義字符
s = 'Hello World'
print(s) # Hello,
print(repr(s)) # 'Hello,World\n'
- len():返回一個(gè)對(duì)象中元素的個(gè)數(shù)
# 獲取個(gè)數(shù)
list1 = [1, 2, 3, 4, 5]
print(len(list1))
- sorted():對(duì)可迭代對(duì)象進(jìn)行排序操作
# 對(duì)迭代對(duì)象進(jìn)行排序,可以選擇正序,逆序
list1 = [1, 5, 8, 3, 4, 2]
print(sorted(list1))
print(sorted(list1, reverse=True))# 自定義規(guī)則
list2 = ['one', 'two', 'three', 'four', 'five', 'six']
def func(s):return len(s)
print(sorted(list2, key=func))
- enumerate():獲取集合的枚舉對(duì)象
score_dict = {'張三': 33,'李四': 36,'王五': 74,'趙六': 56,'李白': 88,'王維': 98,'杜甫': 100,'王昌齡': 89,'王之渙': 97,'王羲之': 93
}score_dict_sorted = sorted(score_dict.items(), key=lambda x:x[1], reverse=True)for index, (name, score) in enumerate(score_dict_sorted, start=1):print(f'第{index}名:{name}\t成績(jī):{score}')# 第1名:杜甫 成績(jī):100
# 第2名:王維 成績(jī):98
# 第3名:王之渙 成績(jī):97
# 第4名:王羲之 成績(jī):93
# 第5名:王昌齡 成績(jī):89
# 第6名:李白 成績(jī):88
# 第7名:王五 成績(jī):74
# 第8名:趙六 成績(jī):56
# 第9名:李四 成績(jī):36
# 第10名:張三 成績(jī):33
- all():可迭代對(duì)象中所有元素都為T(mén)rue,返回結(jié)果才為T(mén)rue
- any():可迭代對(duì)象中只要有一個(gè)是True,返回結(jié)果就是True
- zip():在多個(gè)迭代器上并行迭代,從每個(gè)迭代器返回一個(gè)數(shù)據(jù)項(xiàng)組成元組,如果各個(gè)迭代器的元素個(gè)數(shù)不同,則返回列表長(zhǎng)度與最短的對(duì)象相同
# zip可以將多個(gè)迭代器轉(zhuǎn)換成元組
list1 = [1, 2, 3]
list2 = ['蘋(píng)果', '香蕉', '梨']
list3 = [10, 20, 15]for data in zip(list1, list2, list3):print(data)# (1, '蘋(píng)果', 10)
# (2, '香蕉', 20)
# (3, '梨', 15)
- filter():過(guò)濾器可以接收一個(gè)自定義篩選函數(shù),將迭代器中的元素傳到函數(shù)中進(jìn)行判斷,用來(lái)確定是否保留這個(gè)元素。
# 過(guò)濾出數(shù)據(jù)中的偶數(shù)
def func(i):return i % 2 == 0list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst = filter(func, list1)
print(list(lst))# [2, 4, 6, 8]
- map():可以對(duì)可迭代對(duì)象中的元素進(jìn)行映射,分別去執(zhí)行自定義函數(shù)
# 給數(shù)據(jù)中每個(gè)元素加1
def func(i):return i + 1list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst = map(func, list1)
print(list(lst))# [2, 3, 4, 5, 6, 7, 8, 9, 10]
六、文件操作
- open():用于打開(kāi)一個(gè)文件,創(chuàng)建文件句柄
f = open("name.txt", 'r', encoding='utf-8')
f.read()
f.close()
七、和迭代器相關(guān)
- range():生成可迭代數(shù)據(jù)
- next():迭代器向下執(zhí)行一次
- iter():獲取迭代器
# 使用range生成數(shù)據(jù)給列表
# iter獲取序列的一個(gè)迭代器,然后可以使用next進(jìn)行逐個(gè)輸出
list1 = list(range(1, 6)) # [1, 2, 3, 4, 5]
it = iter(list1)
print(next(it)) # 1
八、作用域相關(guān)(用于查錯(cuò))
- locals():返回當(dāng)前作用域中的變量名字
- globals():返回全局作用域中的變量名字
# 當(dāng)前作用域和全局作用域的用法
def func():a = 100b = 'abc'print(locals())print('-------')print(globals())func()
# {'a': 100, 'b': 'abc'}
#-------
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x10e13ef70>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/Users/troy/Documents/2_team-workspace/python-dev/0_utils/1.py', '__cached__': None, 'func': <function func at 0x10e1430d0>}
九、其他
- help():函數(shù)用于查看其他函數(shù)或者模塊的說(shuō)明
# 獲取list函數(shù)的幫助文檔
print(help(list))
- callable():用于檢查一個(gè)對(duì)象是否可以調(diào)用
s = 'Hello World'
print(callable(s)) # Falsedef hello():pass
print(callable(hello)) # True
- hash():獲取到hash值,用于做key
# 基本使用方法,hash是唯一的,可以用來(lái)做數(shù)據(jù)的key值
s = 'Hello World'
print(hash(s))
- dir():查看對(duì)象的內(nèi)置屬性
# 查詢str的內(nèi)置方法
print(dir(str))
- __import__():用于動(dòng)態(tài)加載類和函數(shù)
# 動(dòng)態(tài)加載os模塊
name = input("請(qǐng)輸入你要導(dǎo)入的模塊:") # 輸入os
os = __import__(name)
print(os.getcwd())