在使用之前是否必须在Python中定义变量?

时间:2012-04-13 01:25:30

标签: python

Python是否与PHP类似,我可以调用变量,如果它不存在,它将被创建?或者我需要声明它们?

1 个答案:

答案 0 :(得分:6)

在PHP中,如果你调用一个变量并且它不存在,你将获得Notice: Undefined variable。这不会创建它 - 再次做同样的事情仍会返回警告。

php > echo $some_uninitialized_var;
PHP Notice:  Undefined variable: some_uninitialized_var in php shell code on line 1
php > echo $some_uninitialized_var;
PHP Notice:  Undefined variable: some_uninitialized_var in php shell code on line 1

在Python中,如果你调用一个变量并且它没有被初始化,你将获得NameError。同样的事情 - 它不会被创建 - 你会得到NameError,直到你真正初始化它。

>>> print(some_uninitialized_var)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'some_uninitialized_var' is not defined

>>> print(some_uninitialized_var)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'some_uninitialized_var' is not defined

没有声明的初始化:

在PHP和Python中,与C不同,在首次使用它们之前,您不需要声明变量,这也许就是您的意思。你可以只分配它们,它们将在第一次分配时创建。

// PHP
$a_new_var = 12345;
// All is well...

# Python
a_new_var = 12345
# All is well...

// C
a_new_var = 12345;
// Crash! Horror! Compiler complains!
int a_new_var;
a_new_var = 12345;
// ok...