python函数返回id Python函数返回一个列表

python冷知识——id()函数

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

成都创新互联公司专注于企业全网营销推广、网站重做改版、徐汇网站定制设计、自适应品牌网站建设、成都h5网站建设商城系统网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为徐汇等各大城市提供网站开发制作服务。

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

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

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

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

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

查看官方文档可以看到:

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

python里怎么知道a的id

用id()函数当a,b为2的时候id相同,而为2.5的时候不同,这种情况在string字符串的时候也会出现,即当很短的a,b赋值很短的字符串的时候,它们的id值相同,而很长的则不会。

id()函数用于获取对象的内存地址。语法id([object]),返回对象的内存地址。对于字符串、整数等类型,变量的id是随值的改变而改变的。

id(object)返回的是对象的“身份证号”,唯一且不变,但在不重合的生命周期里,可能会出现相同的id值。

Python中id函数为什么会对不同对象返回相同值

如果那两个对象指向的是相同的内存地址,也就是说内部指向的其实是一个对象,那他们的ID返回值就是一样的。

python中id有返回值吗

看具体情况。

函数需要先定义后调用,函数体中return语句的结果就是返回值。

如果一个函数没有return语句,其实它有一个隐含的语句,返回值是None,类型也是'None Type'。print( )只是起一个打印作用,函数具体返回什么由return决定。

python id函数的输出值问题

id方法的返回值就是对象的内存地址。

python中会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同)。如执行a=2.0,b=2.0这两个语句时会先后为2.0这个Float类型对象分配内存,然后将a与b分别指向这两个对象。所以a与b指向的不是同一对象:

a=2.0

b=2.0

a is b

False

a==b

True

但是为了提高内存利用效率对于一些简单的对象,如一些数值较小的int对象,python采取重用对象内存的办法,如指向a=2,b=2时,由于2作为简单的int类型且数值小,python不会两次为其分配内存,而是只分配一次,然后将a与b同时指向已分配的对象:

a=2

b=2

a is b

True

如果赋值的不是2而是大的数值,情况就跟前面的一样了:

a=5555

b=5555

a is b

False

id(a)

12464372

id(b)

12464396

本文题目:python函数返回id Python函数返回一个列表
网站地址:https://www.cdcxhl.com/article12/hjoegc.html

成都网站建设公司_创新互联,为您提供移动网站建设外贸建站关键词优化小程序开发网站维护定制网站

广告

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

网站优化排名