Python函数后面的参数可以跟实例化的对象是同一个吗?参数可以单独拿出来使用?

如图,这2个地方不懂。第一个这个func不是参数来的么?为什么可以单独拿出来func()使用?第二个foo=timer(foo),括号参数这个foo就是下面定义的函数我懂... 如图,这2个地方不懂。第一个这个func不是参数来的么?为什么可以单独拿出来func()使用?第二个foo = timer(foo),括号参数这个foo就是下面定义的函数我懂,但为什么实例化对象时也可以用foo,不应该用其他的用词如Foo区分开来吗? 展开
 我来答
GTA小鸡
高粉答主

2019-03-08 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
在Python中,万物皆对象,函数也是一个对象,也可以作为参数传递给别的函数。
foo这只是一个标识符,它可以指向任何东西,包括变量、类、函数、模块、流等。timer是一个返回函数的高阶函数,它的返回值是一个函数,赋值给foo之后,foo也就是一个函数。
wodesitanfu
2019-03-08 · TA获得超过2235个赞
知道大有可为答主
回答量:1908
采纳率:80%
帮助的人:892万
展开全部
没有学过c的,都有这一类问题
函数定义后,函数存入内存中的一个地址,你眼睛看到的foo,是一个函数名字,用来记载这个功能在哪,方便你用。你也可以给这个内存中的地址期其他名字,比如,fcc=foo,fxx=foo,都是指向同一个内存地址。
你传入的fun,只是一个地址,你可以直接print(fun)看看是不是输出一个内存地址。当你用fun()时,函数被调用执行了。
至于第二个问题,foo只是一个名字,前面我们说过了,函数名是一个内存地址,你肉眼看到的foo,具体在python里面,它是一个指向这个地址的对象。具体字这个问题里面,原作者是想解释装饰器的作用~你当然可以用Foo之类的代替。但这样就没表达出装饰器的作用了
了解下c的指针,程序的运行原理,这种问题就一眼就懂
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暗送秋浡365
2019-03-08 · TA获得超过4660个赞
知道大有可为答主
回答量:6401
采纳率:78%
帮助的人:313万
展开全部
python. 如果只是研究算法,集合(set)是可以变的,它是一个无序不重复元素集 元组(touple)才是不可变的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式