python内置方法词典

2024-05-08 09:10:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个内置方法的字典,但是我得到了如下所示的输出。为什么会这样?我只想明白。在

>>>
>>> dict = {'a': print('avc'), 'b': print('bbbb'), 'c': print('aaa')}
avc
bbbb
aaa
>>> dict
>>> {'a': None, 'b': None, 'c': None}
>>>

另外,如果有人想了解我的来历,他们可以看看这个问题: Link to the question I was trying to solve when I thought the above would be useful.


Tags: theto方法none字典link内置dict
3条回答

print是一个将内容打印到屏幕上,但不返回任何内容的函数

当你做赋值时,你说的是“散列值a等于print(“avc”)返回的值”

{cda>中的值是None,所以返回的值是None

Print不返回值。在

想象一下它的定义是这样的

(void) print(object):
   do magic io stuff to make object appear in the console

因此,当您为字典中的键“a”分配print('avc')时,它会得到一个none。在

因为您在创建字典时调用了函数print。您将调用的结果存储在字典中,而不是存储函数print。因此,您的字典将由代表None调用的返回值None值填充。在

你应该做的是有一个这样的结构:

d = {'abc': print} 

现在您的字典将存储实际的函数{'abc', <function print>}

然后可以通过迭代字典的值来调用这些函数:

^{pr2}$

此外,您需要避免对变量使用dict之类的名称。它们为python屏蔽了built-in types(在您的例子中是^{}内置类型)。在

通常选择其他名称,如d。在

相关问题 更多 >