Python小白必備的8個最常用的內(nèi)置函數(shù)(推薦)
Python給我們內(nèi)置了大量功能函數(shù),官方文檔上列出了69個,有些是我們是平時開發(fā)中經(jīng)常遇到的,也有一些函數(shù)很少被用到,這里列舉被開發(fā)者使用最頻繁的8個函數(shù)以及他們的詳細(xì)用法
print()
print函數(shù)是你學(xué)Python接觸到的第一個函數(shù),它將對象輸出到標(biāo)準(zhǔn)輸出流,可將任意多個對象打印出來,函數(shù)的具體定義:
print(*objects, sep=' ', end='', file=sys.stdout, flush=False)
objects 是可變參數(shù),所以你可以同時將任意多個對象打印出來
>>> print(1,2,3)1 2 3
默認(rèn)使用空格分隔每個對象,通過指定sep參數(shù)可以使用逗號分隔
>>> print(1,2,3, sep=',')1,2,3
對象默認(rèn)輸出的是標(biāo)準(zhǔn)輸出流,你也可以將內(nèi)容保存到文件中
>>> print(1,2,3, sep=',', file=open("hello.txt", "w"))
isinstance()
可以用 isinstance 函數(shù)判斷某個對象是否屬于某個類的實例,函數(shù)的定義
isinstance(object, classinfo)
classinfo 既可以是單個類型對象,也可以是由多個類型對象組成的元組,只要object的類型是元組中任意一個就返回True,否則返回False
>>> isinstance(1, (int, str))True>>> isinstance("", (int, str))True>>> isinstance([], dict)False
range()
range函數(shù)是個工廠方法,用于構(gòu)造一個從[start, stop) (不包含stop)之間的連續(xù)的不可變的整數(shù)序列對象,這個序列功能上和列表非常類似,函數(shù)定義:
range([start,] stop [, step]) -> range object
start 可選參數(shù),序列的起點,默認(rèn)是0
stop 必選參數(shù),序列的終點(不包含)
step 可選參數(shù),序列的步長,默認(rèn)是1,生成的元素規(guī)律是 r[i] = start + step*i
生成0~5的列表
>>> >>> range(5)range(0, 5)>>> >>> list(range(5))[0, 1, 2, 3, 4]>>>
默認(rèn)從0開始,生成0到4之間的5個整數(shù),不包含5,step 默認(rèn)是1,每次都是在前一次加1
如果你想將某個操作重復(fù)執(zhí)行n遍,就可以使用for循環(huán)配置range函數(shù)實現(xiàn)
>>> for i in range(3):... print("hello python")...hello pythonhello pythonhello python
步長為2
>>> range(1, 10, 2)range(1, 10, 2)>>> list(range(1, 10, 2))[1, 3, 5, 7, 9]
起點從1開始,終點10,步長為2,每次都在前一個元素的基礎(chǔ)上加2,構(gòu)成1到10之間的奇數(shù)。
enumerate()
用于枚舉可迭代對象,同時還可以得到每次元素的下表索引值,函數(shù)定義:
enumerate(iterable, start=0)
例如:
>>> for index, value in enumerate("python"):... print(index, value)...0 p1 y2 t3 h4 o5 n
index 默認(rèn)從0開始,如果顯式指定參數(shù)start,下標(biāo)索引就從start開始
>>> for index, value in enumerate("python", start=1):... print(index, value)...1 p2 y3 t4 h5 o6 n
如果不使用enumerate函數(shù),要獲取元素的下標(biāo)索引,則需要更多的代碼:
def my_enumerate(sequence, start=0): n = start for e in sequence: yield n, e n += 1
>>> for index, value in my_enumerate("python"): print(index, value)0 p1 y2 t3 h4 o5 n
len
len 用于獲取容器對象中的元素個數(shù),例如判斷列表是否為空可以用 len 函數(shù)
>>> len([1,2,3])3>>> len("python")6>>> if len([]) == 0: pass
并不是所有對象都支持len操作的,例如:
>>> len(True)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: object of type 'bool' has no len()
除了序列對象和集合對象,自定義類必須實現(xiàn)了 __len__ 方法能作用在len函數(shù)上
reversed()
reversed() 反轉(zhuǎn)序列對象,你可以將字符串進(jìn)行反轉(zhuǎn),將列表進(jìn)行反轉(zhuǎn),將元組反轉(zhuǎn)
>>> list(reversed([1,2,3]))[3, 2, 1]
open()
open 函數(shù)用于構(gòu)造文件對象,構(gòu)建后可對其進(jìn)行內(nèi)容的讀寫操作
open(file, mode='r', encoding=None)
讀操作
# 從當(dāng)前路徑打開文件 test.txt, 默認(rèn)以讀的方式
>>>f = open("test.txt")>>>f.read()...
有時還需要指定編碼格式,否則會遇到亂碼
f = open("test.txt", encoding='utf8')
寫操作
>>>f = open("hello.text", 'w', encoding='utf8')>>>f.write("hello python"))
文件中存在內(nèi)容時原來的內(nèi)容將別覆蓋,如果不想被覆蓋,直接將新的內(nèi)容追加到文件末尾,可以使用 a 模式
f = open("hello.text", 'a', encoding='utf8')f.write("!!!")
sorted()
sroted 是對列表進(jìn)行重新排序,當(dāng)然其他可迭代對象都支持重新排放,返回一個新對象,原對象保持不變
>>> sorted([1,4,2,1,0])[0, 1, 1, 2, 4]
以上所述是小編給大家介紹的Python常用的內(nèi)置函數(shù)詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
解決python文件字符串轉(zhuǎn)列表時遇到空行的問題
下面小編就為大家?guī)硪黄鉀Qpython文件字符串轉(zhuǎn)列表時遇到空行的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
python實現(xiàn)RabbitMQ的消息隊列的示例代碼
這篇文章主要介紹了python實現(xiàn)RabbitMQ的消息隊列的示例代碼,總結(jié)了RabbitMQ中三種exchange模式的實現(xiàn),分別是fanout, direct和topic。感興趣的小伙伴們可以參考一下2018-11-11
詳解Python?Flask?API?示例演示(附cookies和session)
這篇文章主要為大家介紹了Python?Flask?API?示例演示(附cookies和session)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Python multiprocessing多進(jìn)程原理與應(yīng)用示例
這篇文章主要介紹了Python multiprocessing多進(jìn)程原理與應(yīng)用,結(jié)合實例形式詳細(xì)分析了基于multiprocessing包的多進(jìn)程概念、原理及相關(guān)使用操作技巧,需要的朋友可以參考下2019-02-02
python程序運行添加命令行參數(shù)argparse模塊具體用法詳解
這篇文章主要給大家介紹了關(guān)于python程序運行添加命令行參數(shù)argparse模塊具體用法的相關(guān)資料,argparse是Python內(nèi)置的一個用于命令項選項與參數(shù)解析的模塊,通過在程序中定義好我們需要的參數(shù),需要的朋友可以參考下2024-01-01

