包含pythonidx函數(shù)的詞條

python冷知識——id()函數(shù)

在工作中遇到一個項目的陳年老bug,如圖:

成都創(chuàng)新互聯(lián)網(wǎng)站建設公司,提供成都網(wǎng)站建設、網(wǎng)站建設,網(wǎng)頁設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;可快速的進行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

bug原因是這里本應該傳idx,結(jié)果傳成了id。

但是這里最有意思的地方來了。

從截圖可以看出,這個id并不是入?yún)?,也沒有定義過,那他直接用怎么不會報參數(shù)未定義的語法錯誤呢?按說函數(shù)應該執(zhí)行不了直接報錯,但是實際上整個方法可以執(zhí)行不會報錯。

排查import也沒有import id,也沒有定義全局變量。那么這個id變量沒有在任何地方定義,為什么可以直接使用呢,還不會報語法錯誤?

經(jīng)過查閱資料才發(fā)現(xiàn),id在這里其實 不是一個變量,而是一個函數(shù)!

查看官方文檔可以看到:

所以id()本身是python內(nèi)置的一個函數(shù),但是因為很少用到,所以很多人并不太清楚。

python如何實現(xiàn)index()功能,不能使用index()、find()函數(shù)方法

python實現(xiàn)index()功能:

語法

index()方法語法:

str.index(str, beg=0, end=len(string))

參數(shù)

str -- 指定檢索的字符串

beg -- 開始索引,默認為0。

end -- 結(jié)束索引,默認為字符串的長度。

返回值

如果包含子字符串返回開始的索引值,否則拋出異常。

實例

以下實例展示了index()方法的實例:

#!/usr/bin/python

str1 = "this is string example....wow!!!";

str2 = "exam";

print str1.index(str2);

print str1.index(str2, 10);

print str1.index(str2, 40);

以上實例輸出結(jié)果如下:

15

15

Traceback (most recent call last):

File "test.py", line 8, in

print str1.index(str2, 40);

ValueError: substring not found

shell returned 1

Python有x有y如何求該函數(shù)

 enumerate(x,y)函數(shù)是把元組tuple、字符串str、列表list里面的元素遍歷和索引組合,其用法與range()函數(shù)很相似,

下面示例enumerate(x,y)用法以及range(x)相似的用法,但是,enumerate(x,y)函數(shù)在遍歷excel等時,可以實現(xiàn)與人視覺了解到的認識更好的理解。

enumerate(x,y)中參數(shù)y可以省略,省略時,默認從0開始,

如示例一:

list_words=["this","is","blog","of","white","mouse"]

for idx,word in enumerate(list_words):

print(idx,word)

打印結(jié)果:

使用range()函數(shù)遍歷實現(xiàn):

list_words=["this","is","blog","of","white","mouse"]

for? i in range(len(list_words)):

print(i,list_words[i])

打印結(jié)果:

自定義開始索引號:

示例二:

list_words=["this","is","blog","of","white","mouse"]

for idx,word in enumerate(list_words[1:],2):#也可以寫成for idx,word in enumerate(list_words,start=2):

print(idx,word)

打印結(jié)果:

從上面示例中可以看出,enumerate(x,y)中x是需要遍歷的元組tuple、字符串str、列表list,可以和切片組合使用,

y是自定義開始的索引號,根據(jù)自己的需要設置開始索引號。

文章名稱:包含pythonidx函數(shù)的詞條
轉(zhuǎn)載源于:http://muchs.cn/article40/dosdieo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃全網(wǎng)營銷推廣、網(wǎng)站設計公司動態(tài)網(wǎng)站、外貿(mào)建站手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作