Python是否与PHP类似,我可以调用变量,如果它不存在,它将被创建?或者我需要声明它们?
答案 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...