PHPとPythonのglobal
休んだついでにダウンしてました。久しぶりに書きます。
Pythonにはglobal文というのがあるので、PHPのglobalみたいな感じかなと思ったら違うようです。
<?php $msg = "Hello"; function hello1() { print $msg; } function hello2() { global $msg; print $msg; } hello1(); hello2(); ?>
こういう場合、PHPでは、hello1()はエラーになります。しかしPythonではエラーにならず、グローバルな変数を参照してくれます。
>>> msg = "Hello" >>> def hello1(): print msg >>> hello1() Hello
ではどんな時にglobal文が必要かというと、変数へ代入をする時です。
>>> def hello1(): msg = "Hello, World" print msg >>> hello1() Hello, World >>> msg 'Hello'
この場合、global文が無いと、ローカルなmsgという変数を新しく作ってしまいます。