Python函数后面的参数可以跟实例化的对象是同一个吗?参数可以单独拿出来使用?
如图,这2个地方不懂。第一个这个func不是参数来的么?为什么可以单独拿出来func()使用?第二个foo=timer(foo),括号参数这个foo就是下面定义的函数我懂...
如图,这2个地方不懂。第一个这个func不是参数来的么?为什么可以单独拿出来func()使用?第二个foo = timer(foo),括号参数这个foo就是下面定义的函数我懂,但为什么实例化对象时也可以用foo,不应该用其他的用词如Foo区分开来吗?
展开
3个回答
展开全部
没有学过c的,都有这一类问题
函数定义后,函数存入内存中的一个地址,你眼睛看到的foo,是一个函数名字,用来记载这个功能在哪,方便你用。你也可以给这个内存中的地址期其他名字,比如,fcc=foo,fxx=foo,都是指向同一个内存地址。
你传入的fun,只是一个地址,你可以直接print(fun)看看是不是输出一个内存地址。当你用fun()时,函数被调用执行了。
至于第二个问题,foo只是一个名字,前面我们说过了,函数名是一个内存地址,你肉眼看到的foo,具体在python里面,它是一个指向这个地址的对象。具体字这个问题里面,原作者是想解释装饰器的作用~你当然可以用Foo之类的代替。但这样就没表达出装饰器的作用了
了解下c的指针,程序的运行原理,这种问题就一眼就懂
函数定义后,函数存入内存中的一个地址,你眼睛看到的foo,是一个函数名字,用来记载这个功能在哪,方便你用。你也可以给这个内存中的地址期其他名字,比如,fcc=foo,fxx=foo,都是指向同一个内存地址。
你传入的fun,只是一个地址,你可以直接print(fun)看看是不是输出一个内存地址。当你用fun()时,函数被调用执行了。
至于第二个问题,foo只是一个名字,前面我们说过了,函数名是一个内存地址,你肉眼看到的foo,具体在python里面,它是一个指向这个地址的对象。具体字这个问题里面,原作者是想解释装饰器的作用~你当然可以用Foo之类的代替。但这样就没表达出装饰器的作用了
了解下c的指针,程序的运行原理,这种问题就一眼就懂
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
python. 如果只是研究算法,集合(set)是可以变的,它是一个无序不重复元素集 元组(touple)才是不可变的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询