14歳の自分に衝撃の事実を告げてください

グローバル変数が良くわからないが、
def test_func():
global x
x = 100
# 関数の中で「x」を表示
print("関数:", x)
x = 50
test_func()
print("ファイル:", x)

結果
関数: 100
ファイル: 100

なるが、たまにみるが def test_func():の上に
x = 100をおくとどういう意味になるのでしょうかご教授ください。

A 回答 (1件)

> グローバル変数が良くわからない



グローバル変数と言うのはプログラム上のどこからでも参照可能な変数の事を言います。単にそれだけ。

> def test_func():の上に
> x = 100をおくとどういう意味になる

上に・・・ってよう意味が分からんのだけど。

x = 50ってのは提示されたコードだと、貴方の言い方をすると「def test_func():の下に」書かれてるけど、「上だろうと下だろうと結果変わらない」。
何故なら「def test_func():はあくまでtest_func()を定義してるだけ」であって、ここそのものがプログラム上何か機能があって「実行」されてるわけじゃないからです。実行されてるのはtest_func()の呼び出し部分。でしょ?
いわば、プログラムの「実行」だけで考えると貴方の例だとdef〜print("関数:", x)の範囲はある意味「穴あき」なんですよ。あくまでtest_func()をそこで「定義してるだけ」ですからね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!