Python 3.x 有人能用最简单的话解释这个返回语句吗?

Python 3.x 有人能用最简单的话解释这个返回语句吗?,python-3.x,return,Python 3.x,Return,我偶然发现了一些非常强大的代码。我在理解return语句中get()的用法时遇到了一些困难,因此需要一些指导。提前谢谢你的帮助 def operation(a, b): return {a+b: "added", a-b: "subtracted", a*b: "multiplied", a/b: "divided"}.get(24) 该函数返回:通过什么数学运算,可以从两个参数a和b得出结果24 例如,调用操作(20,4)将返回“添加的”,而调用操作(26,2)将返回“减去的” 不要

我偶然发现了一些非常强大的代码。我在理解return语句中get()的用法时遇到了一些困难,因此需要一些指导。提前谢谢你的帮助

def operation(a, b):
    return {a+b: "added", a-b: "subtracted", a*b: "multiplied", a/b: "divided"}.get(24)
该函数返回:通过什么数学运算,可以从两个参数
a
b
得出结果24

例如,调用
操作(20,4)
将返回
“添加的”
,而调用
操作(26,2)
将返回
“减去的”

不要让这一切都在一行的事实迷惑你。可以在return语句中编写任何有效的Python表达式。让我们看一个简化版本:

def操作(a、b):
d={a+b:“加”,a-b:“减”,a*b:“乘”,a/b:“除”}
res=d.get(24)
返回res
它的作用是:

  • 对于给定的两个参数,用这两个参数上不同数学运算的结果建立一个字典

  • 然后,试着从字典中找出结果24

  • 如果存在,则返回通过它实现的操作的名称。如果不是,则返回
    None
一般来说,在Python中,dict是一种很好的方法,可以将
if/elif
structurese分解为更可读的代码。例如,您的函数相当于:

def操作(a、b):
如果a+b==24:
res=“已添加”
elif a-b==24:
res=“减去”
如果a*b==24:
res=“乘以”
如果a/b==24:
res=“分开”
其他:
res=无
返回res
如您所见,原始代码要整洁得多。

函数返回:通过什么数学运算,可以从两个参数
a
b
得出结果24

例如,调用
操作(20,4)
将返回
“添加的”
,而调用
操作(26,2)
将返回
“减去的”

不要让这一切都在一行的事实迷惑你。可以在return语句中编写任何有效的Python表达式。让我们看一个简化版本:

def操作(a、b):
d={a+b:“加”,a-b:“减”,a*b:“乘”,a/b:“除”}
res=d.get(24)
返回res
它的作用是:

  • 对于给定的两个参数,用这两个参数上不同数学运算的结果建立一个字典

  • 然后,试着从字典中找出结果24

  • 如果存在,则返回通过它实现的操作的名称。如果不是,则返回
    None
一般来说,在Python中,dict是一种很好的方法,可以将
if/elif
structurese分解为更可读的代码。例如,您的函数相当于:

def操作(a、b):
如果a+b==24:
res=“已添加”
elif a-b==24:
res=“减去”
如果a*b==24:
res=“乘以”
如果a/b==24:
res=“分开”
其他:
res=无
返回res

正如您所看到的,原始代码要整洁得多。

这是一个字典,其中键是经过计算的操作(例如,“a+b”),值是对操作的描述
get
是一种字典方法,如果dict中没有键(24),它将返回None。字典是用花括号括起来的吗?是的,让我澄清一下。它不是返回dict,而是返回经过计算的
get
方法。get访问作为操作的键,如果它们是24,那么我不确定这个函数的用途。除非您期望
24
将是其中一个键,否则它将始终返回none。这是一个字典,其中键是经过计算的操作(例如,“a+b”),值是对操作的描述
get
是一种字典方法,如果dict中没有键(24),它将返回None。字典是用花括号括起来的吗?是的,让我澄清一下。它不是返回dict,而是返回经过计算的
get
方法。get访问作为操作的键,如果它们是24,那么我不确定这个函数的用途。除非您期望
24
将是其中一个键,否则它将始终不返回任何键。