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

ant*_*pug 3 python

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

Mic*_*ski 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
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

没有声明的初始化:

但是,在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...
Run Code Online (Sandbox Code Playgroud)

  • 我建议将“调用变量”替换为“使用变量” (2认同)