Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python运行的函数是已声明字典的元素_Python_Python 3.x - Fatal编程技术网

Python运行的函数是已声明字典的元素

Python运行的函数是已声明字典的元素,python,python-3.x,Python,Python 3.x,一旦我定义了这本词典: case_dict={ "run" : runn(), "name" : namee(), "help" : helpp(), "quit": quitt(), } python连续运行所有这些函数。当我只想定义dict时,如何避免这些函数在控制台中运行 PS:所有这些函数都是在代码前面定义的。您将每个键的值指定给函数的返回值,而不是函数本身。 通过末尾的括号

一旦我定义了这本词典:

case_dict={
    "run" : runn(),
    "name" : namee(),
    "help" : helpp(),
    "quit": quitt(),
}
python连续运行所有这些函数。当我只想定义dict时,如何避免这些函数在控制台中运行


PS:所有这些函数都是在代码前面定义的。

您将每个键的值指定给函数的返回值,而不是函数本身。 通过末尾的括号,函数在创建dict时执行

要避免这种情况,请编写
runn
而不是
runn()

所以你会以

case_dict={
    "run" : runn,
    "name" : namee,
    "help" : helpp,
    "quit": quitt,
}
现在,如果您想调用其中一个函数,您可以这样做:

case_dict["run"](parameter_1, parameter_2 ... )

你打算什么时候执行它们?您具体会发生什么?
runn
是函数对象的名称,
runn()
是对它的调用。我计划在以后的程序中从dict调用它们时执行它们是的,但是当我调用dict的元素时,比如:case\u dict[“run”]它不运行函数,它返回runn函数对象。我希望定义为dict元素的每个函数在我从dict调用它时运行。是的,为了调用函数,必须始终使用括号。所以你必须写
case_dict[“run”]()
Ohh好的,现在我明白了。非常感谢@bendo97这不是“呼叫”的意思