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 に答える