首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于比较==函数和内存位置的说明

关于比较==函数和内存位置的说明
EN

Stack Overflow用户
提问于 2022-01-16 12:08:15
回答 1查看 37关注 0票数 0

关于下面的代码片段,我有一些问题/澄清要问。谢谢!

代码语言:javascript
复制
cube_a = 2 ** 3
cube_b = 2 ** 3
cube_c = lambda x: x ** 3
cube_d = lambda x: x ** 3
cube_e = lambda x: cube_d
cube_f = lambda cube_d: cube_d
def cube_g(cube_a):
    def cube_h(cube_a):
        return cube_a ** 3
    return cube_h

print(cube_d == cube_e(2)) #True Statement 1
print(cube_d == cube_f(2)) #False Statement 2
print(cube_g(3)(5) == 5 **3 ) #True Statement 3
print(cube_a== cube_b) #True Statement 4
print(cube_c== cube_d) #False Statement 5

我不明白为什么报表1是正确的,下面是我对其余发言的理解。

语句2:一个函数和另一个return的函数,即以前的函数是不同的

关于语句3:cube_g(3)(5)变成cube_g(3),它调用cube_h(5),从而返回5**3

关于语句4:是否是因为函数/代码是完全相同的一行一行?我尝试切换顺序(2 **3 vs 3 **2),并且使用id()地址是不同的。

关于报表5:每个lambda函数都有自己的地址?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-16 12:19:26

语句1是真的,因为在cube_e中,您只是返回lambda函数本身,而不是传递任何参数,因此它总是返回cube_d

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70729895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档