C++中指向函数进口地点的指针,叫做函数指针。所以,这一名词我们也借用到Python中。
比方,我写一个排序的代码段,用STL里的sort:
int arr[10]={5,8,4,7,6,5,7,4,2,9}; std::sort(arr,arr+10);
默许是升序排序。假如我想要特别的排序规范,那就要供应第三个参数。第三个参数就是一个函数指针。sort的准绳就是,假定原序列中b在a之前,当函数指针pf(a,b)挪用的函数的返回值为true时发作交流。返回false时,和排序的算法有关,比方sort是不稳定排序,所以两数相称时仍有能够交流位置。
相干引荐:《python视频教程》
我们写一个降序排序。那就须要先写一个比较函数cmp:
bool cmp(int a,int b) { return a>b;//当背面的数大于前面时交流 }
然后,函数名就是它的进口地点,所以我们把它传进去:
std::sort(a,a+10,cmp);
Python中也相似,假定有一个列表的排序函数Sort(list, cmp)
那末,cmp也是一个“对象”,它能够传入函数进口地点。挪用语句以下:
def cmp(a,b):return a>b li=[5,8,4,7,6,5,7,4,2,9] Sort(li,cmp)
也就相似于函数指针的功用。
以上就是python有指针吗的细致内容,更多请关注ki4网别的相干文章!