Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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_Variables_Parameters_Parameter Passing - Fatal编程技术网

Python 为什么在使用变量之前要将数据存储在变量中?

Python 为什么在使用变量之前要将数据存储在变量中?,python,variables,parameters,parameter-passing,Python,Variables,Parameters,Parameter Passing,因此,每当我看代码示例时,我总是看到: myNum = 12 def func(var): return var myReturn = func(myNum) print myReturn 而不是: myNum = 12 def func(var): return var print func(myNum) 我认为您会使用第一个函数的唯一原因是为了避免可能出现的混淆(如果他们不知道该函数/方法的作用(因为他们可以看到该函数,所以在本例中不起作用)),但是您可以用一条注释来反驳

因此,每当我看代码示例时,我总是看到:

myNum = 12
def func(var):
    return var
myReturn = func(myNum)
print myReturn
而不是:

myNum = 12
def func(var):
    return var
print func(myNum)
我认为您会使用第一个函数的唯一原因是为了避免可能出现的混淆(如果他们不知道该函数/方法的作用(因为他们可以看到该函数,所以在本例中不起作用)),但是您可以用一条注释来反驳这一点,说明发生了什么

而且,尽管很小,但使用另一个变量会使用RAM,并且会使代码中的变量变得杂乱无章,而这些变量可能还没有定义,并且代码可能工作得非常好


这仅仅是惯例?或者这真的只是个人偏好吗?

两者都有效,第一个原因是有人可能使用
myReturn
做其他事情

想象一下下面的代码块:

intx;x=剂量测定法();如果(x>…{//more code doMoreWithX(x);}


现在我有了
x
,我可以使用
x
来比较,或者调用另一个方法,或者测试一个条件,等等。在这种情况下,你需要某种形式的参考,回到你原来的方法所做的。

你的例子是如此简短和简单,在那里它无关紧要。在某种程度上,这是一个风格问题。在某种程度上,这是一个可读性的问题。如果语句中的表达式很长或很复杂,那么编写单独的简单表达式和较短表达式可以使代码更易于阅读并更容易避免错误。为表达式命名也有助于传达它存在的原因和用途。此外,对于将异常引发为一个简短表达式的行来说,这非常有用,这样您就可以很容易地看到表达式的哪一部分出错了。它在调试时也有帮助,因为您可以在调试器中看到每个局部变量,并更改它们的值。

这两种方法都有效,第一种是因为有人可能使用
myReturn
执行其他操作。想象
intx;x=剂量测定法();如果(x>..{…}
现在是,我有x,我可以用x来比较,或者调用另一个方法,或者测试一个条件,等等。通常,你不会在你的代码中使用
print
,你会想用一个函数的返回值。@john,好的,这就是我的想法。谢谢你的回答。@Scoutdrago3-如果有帮助的话,我会把它作为一个答案添加。@o_o是的,我只是打印了一个简单的例子。但如果我也使用值本身,它也会以同样的方式工作。