回答編集履歴

2

用語を補足

2018/11/27 01:37

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- (1)がミソです。関数呼び出しの文法は最初のころ「`関数名` `(` `引数式の並び` `)`」であると捉えるのが典型的だと思いますが、実際はそうではなく「`プライマリ式` `(` `引数式の並び` `)`」です。つまり「関数名」などという言語仕様はなくて「単なるプライマリ式」を評価した結果がcallableだったのでそれを呼び出せただけです。Pythonインタープリタは「ひたすら値を計算するのが仕事」です。よってその値が何に由来したものだったかといったデバッグにしか使い道がなさそうな情報は最小限しか記録しません。おそらくPythonの設計者は「どの識別子に結び付いていた値だったか」はなくても、バックトレースで充分と考えたのだと思います。
33
+ (1)がミソです。関数呼び出しの文法は最初のころ「`関数名` `(` `引数式の並び` `)`」であると捉えるのが典型的だと思いますが、実際はそうではなく「`プライマリ式` `(` `引数式の並び` `)`」です。つまり「関数名」などという言語仕様はなくて「単なるプライマリ式」を評価した結果がcallableだったのでそれを呼び出せただけです。Pythonインタープリタは「ひたすら値を計算するのが仕事」です。よってその値が何に由来したものだったかといったデバッグにしか使い道がなさそうな情報は最小限しか記録しません。おそらくPythonの設計者は「どの識別子に結び付いていた値だったか」はなくても、スタックトレース(バックトレース)で充分と考えたのだと思います。
34
34
 
35
35
 
36
36
 

1

コードにmainの呼び出しを追加

2018/11/27 01:37

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -108,6 +108,8 @@
108
108
 
109
109
 
110
110
 
111
+ main()
112
+
111
113
  ```
112
114
 
113
115
  (CPython 3.7で確認)