我说的是"请在此处插入您的答案"并且希望在一个程序中重复多次,这样显着更有效地打印"请在此处插入您的答案"或者用该文本创建一个变量来执行相同的功能?
#First option
answer= input("Please insert your answer here ")
#second option
prepared_question= "Please insert your answer here "
answer= input(prepared_question)
假设这会重复多次,是否会有显着更有效的选项?当然,从作者的角度来看,简单地重复使用变量要好得多,我怀疑它是否需要更多的时间。
答案 0 :(得分:2)
第一个(稍微)更高效,因为在解释过程中不需要两个额外的STORE_NAME
和LOAD_NAME
步骤。
In [3]: dis.dis("answer= input('Please insert your answer here')")
1 0 LOAD_NAME 0 (input)
3 LOAD_CONST 0 ('Please insert your answer here')
6 CALL_FUNCTION 1 (1 positional, 0 keyword pair)
9 STORE_NAME 1 (answer)
12 LOAD_CONST 1 (None)
15 RETURN_VALUE
In [5]: dis.dis("prepared_question= 'Please insert your answer here';answer= input(prepared_question)")
1 0 LOAD_CONST 0 ('Please insert your answer here')
3 STORE_NAME 0 (prepared_question)
6 LOAD_NAME 1 (input)
9 LOAD_NAME 0 (prepared_question)
12 CALL_FUNCTION 1 (1 positional, 0 keyword pair)
15 STORE_NAME 2 (answer)
18 LOAD_CONST 1 (None)
21 RETURN_VALUE
但是从功能的角度来看,如果input
的消息在未来的运行中发生变化,那么最好使用一个变量,而且可能是一个函数。