4

Python 是否很像 PHP,因为我可以调用一个变量,如果它不存在,它将被创建?或者我需要声明它们?

4

1 回答 1

7

在 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...
于 2012-04-13T01:27:31.360 回答