包含pythonidx函数的词条

python冷知识——id()函数

在工作中遇到一个项目的陈年老bug,如图:

成都创新互联网站建设公司,提供成都网站建设、网站建设,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

bug原因是这里本应该传idx,结果传成了id。

但是这里最有意思的地方来了。

从截图可以看出,这个id并不是入参,也没有定义过,那他直接用怎么不会报参数未定义的语法错误呢?按说函数应该执行不了直接报错,但是实际上整个方法可以执行不会报错。

排查import也没有import id,也没有定义全局变量。那么这个id变量没有在任何地方定义,为什么可以直接使用呢,还不会报语法错误?

经过查阅资料才发现,id在这里其实 不是一个变量,而是一个函数!

查看官方文档可以看到:

所以id()本身是python内置的一个函数,但是因为很少用到,所以很多人并不太清楚。

python如何实现index()功能,不能使用index()、find()函数方法

python实现index()功能:

语法

index()方法语法:

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

参数

str -- 指定检索的字符串

beg -- 开始索引,默认为0。

end -- 结束索引,默认为字符串的长度。

返回值

如果包含子字符串返回开始的索引值,否则抛出异常。

实例

以下实例展示了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);

以上实例输出结果如下:

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如何求该函数

 enumerate(x,y)函数是把元组tuple、字符串str、列表list里面的元素遍历和索引组合,其用法与range()函数很相似,

下面示例enumerate(x,y)用法以及range(x)相似的用法,但是,enumerate(x,y)函数在遍历excel等时,可以实现与人视觉了解到的认识更好的理解。

enumerate(x,y)中参数y可以省略,省略时,默认从0开始,

如示例一:

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

for idx,word in enumerate(list_words):

print(idx,word)

打印结果:

使用range()函数遍历实现:

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

for  i in range(len(list_words)):

print(i,list_words[i])

打印结果:

自定义开始索引号:

示例二:

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)

打印结果:

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

y是自定义开始的索引号,根据自己的需要设置开始索引号。

文章名称:包含pythonidx函数的词条
转载源于:https://www.cdcxhl.com/article40/dosdieo.html

成都网站建设公司_创新互联,为您提供网站策划全网营销推广网站设计公司动态网站外贸建站手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作