删除变量中的变量

时间:2014-03-19 03:06:36

标签: python variables namespaces

我希望了解一些基本的python函数。 “del”如何产生这个(用bash):

>>> temp = 1
>>> python = 1 + temp
>>> 
>>> 
>>> temp
1
>>> 
>>> python
2
>>> 
>>> 
>>> del temp
>>> 
>>> 
>>> python
2
>>> 
>>> temp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'temp' is not defined
>>> 
>>> 
>>> 

4 个答案:

答案 0 :(得分:1)

对于del in python,它意味着

Deletion of a name removes the binding of that name from the local or global namespace

因此,当您使用del var时,它会删除此变量,并且当您再次调用它时它不可用,这就是发生异常的原因。

答案 1 :(得分:0)

创建变量的方式是参考一次到另一个变量。在您的示例中,python = temp + 1,python在定义时等于temp加1 。每次处理器经历循环时,变量python都不会重新计算。它的值只定义一次。如果其定义中包含的变量发生变化,则不会发生变化。

答案 2 :(得分:0)

  

python删除变量

中的变量

temp不在python内。在行

python = 1 + temp

temp将用于创建变量python。因此,如果您删除temp,则不会影响python

答案 3 :(得分:0)

Here是python del命令的手册所说的:

  

删除名称会删除该名称与本地名称的绑定   全局命名空间,取决于名称是否出现在全局中   同一代码块中的语句。如果名称未绑定,则为NameError   异常将被提出。