回答編集履歴
2
追記
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
1 Subをimportした時点で、Mainにもローカル変数xが定義され、Subのxと同じ値で初期化される
|
52
52
|
|
53
|
-
いろいろ間違いです。
|
53
|
+
"Subをimportした時点" が import Sub のことを言っているならいろいろ間違いです。
|
54
54
|
|
55
55
|
|
56
56
|
|
@@ -59,6 +59,10 @@
|
|
59
59
|
- モジュールMainの名前空間に束縛された変数のことはPythonでは[通例グローバル変数とは呼ばれます](https://docs.python.org/ja/3/reference/executionmodel.html#binding-of-names)
|
60
60
|
|
61
61
|
|
62
|
+
|
63
|
+
"Subをimportした時点" が from Sub import x のことを言っているなら、"ローカル変数"や"初期化される"という語の使い方に違和感がありますがだいたい合っています。
|
64
|
+
|
65
|
+
(Pythonは「値」を「名前」に束縛するという実行モデルです。その名前のことを**便宜上**変数と呼びますが、実行モデルに**変数という概念はなく**、したがって「変数の初期化」という概念もまたありません。一番最初にある名前に値を束縛することを**便宜上**「変数の初期化」と呼ばなくもない程度かと)
|
62
66
|
|
63
67
|
|
64
68
|
|
1
サブモジュールのインポート時の名前束縛の追記と誤字修正
test
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
1. Subがxという属性を持っているかをチェックする
|
34
34
|
|
35
|
-
1. もし持っていない場合、Sub.x というというサブモジュールのインポートを試みる(失敗したらImportError)
|
35
|
+
1. もし持っていない場合、Sub.x というというサブモジュールのインポートを試みる(成功するとSub.xモジュールがSubの名前空間にxという名前で[束縛される](https://docs.python.org/ja/3/reference/import.html#submodules)。失敗したらImportError)
|
36
36
|
|
37
37
|
1. import文が書かれたところの名前空間に、「Sub.x に束縛されているオブジェクト」を「xという名前」で束縛する
|
38
38
|
|
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
- Subをimportした時点ではモジュールMainの名前空間にSubという変数が定義されてモジュールSubが束縛されます
|
58
58
|
|
59
|
-
- モジュールMainの名前空間に束縛された変数のことはPythonでは[通
|
59
|
+
- モジュールMainの名前空間に束縛された変数のことはPythonでは[通例グローバル変数とは呼ばれます](https://docs.python.org/ja/3/reference/executionmodel.html#binding-of-names)
|
60
60
|
|
61
61
|
|
62
62
|
|