pythonpython中有指針嗎
Python對指針做了良好封裝,一切都是“對象”,一切對象都有一個“變量”指向它。這個“變量”就是“指針”。和Java一樣,它不可以隨機移動,不可以運算。包括函數(shù)也是一個“對象”,用一個變量指向它,就是指向函數(shù)的入口地址。
C++中指向函數(shù)入口地址的指針,叫做函數(shù)指針。所以,這一名詞我們也借用到Python中。
比如,我寫一個排序的代碼段,用STL里的sort:
intarr[10]={5,8,4,7,6,5,7,4,2,9};
std::sort(arr,arr+10);
默認(rèn)是升序排序。如果我想要特殊的排序標(biāo)準(zhǔn),那就要提供第三個參數(shù)。第三個參數(shù)就是一個函數(shù)指針。sort的原則就是,假設(shè)原序列中b在a之前,當(dāng)函數(shù)指針pf(a,b)調(diào)用的函數(shù)的返回值為true時發(fā)生交換。返回false時,和排序的算法有關(guān),比如sort是不穩(wěn)定排序,所以兩數(shù)相等時仍有可能交換位置。
我們寫一個降序排序。那就需要先寫一個比較函數(shù)cmp:
boolcmp(inta,intb)
{
returna>b;//當(dāng)后面的數(shù)大于前面時交換
}
然后,函數(shù)名就是它的入口地址,所以我們把它傳進去:
std::sort(a,a+10,cmp);
Python中也類似,假設(shè)有一個列表的排序函數(shù)Sort(list,cmp)
那么,cmp也是一個“對象”,它可以傳入函數(shù)入口地址。調(diào)用語句如下:
defcmp(a,b):returna>b
li=[5,8,4,7,6,5,7,4,2,9]
Sort(li,cmp)
也就類似于函數(shù)指針的功能。
以上內(nèi)容為大家介紹了Python培訓(xùn)之python中有指針嗎,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
pythonfor循環(huán)是什么
pythonfor循環(huán)是什么在做遍歷的時候,對于一些數(shù)據(jù)的反復(fù)循環(huán)執(zhí)行,我們會用到for循環(huán)的語句??梢哉f這是新手入門必學(xué)的語句之一,在很多基礎(chǔ)循...詳情>>
2023-11-13 07:46:36
pythoncontextmanager()的轉(zhuǎn)換
python中contextmanager()的轉(zhuǎn)換1、說明當(dāng)發(fā)出請求時,requests庫會在將請求實際發(fā)送到目標(biāo)服務(wù)器之前準(zhǔn)備該請求。請求準(zhǔn)備包括像驗證頭信息和...詳情>>
2023-11-13 06:34:35
python使用items()遍歷鍵值對
python使用items()遍歷鍵值對字典可以用來存儲各種方式的信息,所以有很多方式可以通過字典的所有鍵值對、鍵或值。說明1、即使通過字典,鍵值對...詳情>>
2023-11-13 04:24:15
python實例方法中self的作用
python實例方法中self的作用說明1、無論是創(chuàng)建類的構(gòu)造方法還是實例方法,最少要包含一個參數(shù)self。2、通過實例的self參數(shù)與對象進行綁定,程序...詳情>>
2023-11-13 03:46:48熱門推薦
python實現(xiàn)WSGI的框架
沸pythonfor循環(huán)是什么
熱python-=是什么意思
熱python打開文本文件有哪些方法?
新pythoncontextmanager()的轉(zhuǎn)換
pythonre是什么?
pythondecimal是什么
python列表追加元素出錯的解決
python使用loguru操作日志
python使用items()遍歷鍵值對
pythonvim中有哪些對象
python實例方法中self的作用
pythonin和is的區(qū)分
pythonos.path.join()函數(shù)的使用
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線