这可能是一个愚蠢的问题,但我找不到答案。
我使用Flask / Python并且有一个名为' hero.py'的.py文件。包含dict ex。
heroes = {'ironman': 'Strength, Covert', 'IronFist': 'Tech, Strenght'}
def hero():
hero, attribute = random.choice(list(heroes.items()))
if 'Tech' not in attribute:
hero, attribute = random.choice(list(heroes.items()))
if 'Tech' in attribute:
return(hero, attribute)
我想知道在调用函数时如何仅使用attribute
变量?
我可以做类似的事情:
my_hero = hero()
print(my_hero)
但是如何只打印出那个英雄的属性呢?希望这有意义吗?
答案 0 :(得分:2)
如果您有一个返回可转换数据(如元组或列表)的函数,则可以通过多种方式将包含值集合分配给变量:
def my_function():
return ('a', 'b')
您可以将返回值分配给单个变量:
example_1 = my_function()
>>> example_1
('a', 'b')
或者您可以将其分配给多个变量,与对象中的值数量相匹配:
example_2a, example_2b = my_function()
>>> example_2a
'a'
>>> example_2b
'b'
如果你只需要一个的值,而不是另一个,一个常见的形式是将不需要的值分配给_
,这被视为标准一次性:
_, example_3 = my_function()
即使您拥有大量的价值并希望抛弃多个价值观,这仍然有效:
def my_next_function():
return ('a', 'b', 'c', 'd', 'e')
_, example_4, _, _, _ = my_next_function()
>>> example_4
'b'
当然,您也可以简单地进行位置分配,例如:
example_5 = my_function()[1]
然而,我更喜欢_
方法,因为我认为它使意图更清晰 - 也就是说,它明确告诉读者你只关心一个值而不关心其他值。但是每个人都有自己的
答案 1 :(得分:1)
print(hero()[0])
应该适用于第一个属性