【问题标题】:Python: Returns a value of variable for a variable that comes as parameter of function [duplicate]Python:返回作为函数参数的变量的变量值[重复]
【发布时间】:2022-01-24 18:29:44
【问题描述】:

我有一个陈述清单

a = "hello"
b = "hi"
c= "test"

在一个程序中,我得到了变量名(a、b 或 c),需要使用该函数方法返回变量的值。

def my_method(item):
     a = "hello"
     b = "hi"
     c= "test"
    

item 参数将是 a 、 b 或 c ,我需要返回该项目的值。有没有什么技术可以在没有 if 条件的情况下为三个语句返回项目值?

【问题讨论】:

  • 你甚至不需要函数,你可以使用带有字符串键d = {'a':'hello', 'b':'hi', 'c':'test'}的dict,然后直接使用d[key]查找它。或列表。
  • 你在寻找类似(这个)[stackoverflow.com/questions/10773348/…?这里描述了当您将其名称作为字符串时如何获取类属性。这不正是您所要求的,但我认为它仍然可以提供帮助。
  • 如果您有 Java 背景,在 Python 中,您通常不需要函数和类来包装 Java 会强迫您这样做的东西。在这种情况下。 (如果你绝对必须在这里传递一个函数,你可以使用dict('a':'hello', 'b':'hi', 'c':'test').get。不需要声明一个新函数。)

标签: python


【解决方案1】:

您可以使用字典:

my_dict = { "a":"hello", "b":"hi", "c":"test" }

然后

def my_method(item):
    return my_dict[item]

正如@smci 建议的那样,也可以不带任何功能直接访问

my_dict[item]

【讨论】:

  • dict 是 python 中的受保护字,我将更改为 my_dict
  • 这甚至不需要函数调用。只需直接使用d[key] 查找即可。我们俩同时独立发布了此内容。
  • 我没说它需要一个.. 好像 OP 想使用一个函数 @smci
  • @pugi 已更改..
  • @sagi 我没说你说它需要一个。我只是指出这是令人困惑的。通常 Python 学习者(尤其是来自 Java 的)不熟悉不需要不必要的函数和类。至少向他们指出这一点是有帮助的“你不需要定义一个函数,你可以用 dict 来做这个”.
猜你喜欢
  • 1970-01-01
  • 2018-08-30
  • 2015-09-04
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多