こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

pythonにCでのexternはありますか

python初心者です。

a.py, b.pyがあります。

<a.py>
import b
bar=123
b.foo()

<b.py>
def foo
 global bar
 print bar

実行すると"123"が表示されず失敗します。
Cだとexternすれば外部参照で希望通りに成功します。

CとPythonは違うことは知っていますが、Pythonで実現できないでしょうか。
又は類似の手段はありますか。

投稿日時 - 2014-12-21 05:52:04

QNo.8865351

暇なときに回答ください

質問者が選んだベストアンサー

<a.py>
import b
b.bar=123 # b.fooと同様に、b.を指定する
b.foo()

<b.py>
bar=0 # 代入文を書く。これで変数宣言になる。
def foo():
 global bar # barを参照するだけなら不要。
# bar=4321 # 代入が最初にあるとローカル変数になるので、globalが必要に
 print bar

投稿日時 - 2014-12-21 07:09:43

お礼

返答ありがとうございます

今から試してみます。

投稿日時 - 2014-12-21 08:31:41

ANo.1

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(1)