回答編集履歴

4

誤記

2018/04/29 14:30

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -1,12 +1,12 @@
1
1
  追記:
2
2
 
3
- quiquiさん回答からipythonを知り、インストールして少し使ってみたところ・・・今まで知らずにいて損した気分がだんだん強くなってきました。自分の回答は蛇足だったようです。
3
+ quiquiさん回答からIPythonを知り、インストールして少し使ってみたところ・・・今まで知らずにいて損した気分がだんだん強くなってきました。自分の回答は蛇足だったようです。
4
4
 
5
5
 
6
6
 
7
- (ちなみにiptyonのREPL上で定義した関数fooについて
7
+ (ちなみにIPythonのREPL上で定義した関数fooについて
8
8
 
9
- `foo.__code__.co_filename`を調べるとcpythonでは`<stdin>`であったのに対してiptyonでは`<ipython-input-4-01cc26abac88>`といった名前が入ってます。つまり元の回答で少し書いたlinecacheへのモンキーパッチをipythonはやってくれているということだと思います。)
9
+ `foo.__code__.co_filename`を調べるとCPythonでは`<stdin>`であったのに対してIPythonでは`<ipython-input-4-01cc26abac88>`といった名前が入ってます。つまり元の回答で少し書いたlinecacheへのモンキーパッチをIPythonはやってくれているということだと思います。)
10
10
 
11
11
 
12
12
 
@@ -14,7 +14,9 @@
14
14
 
15
15
  ---
16
16
 
17
- cpython前提でのコメントです。
17
+ CPython前提でのコメントです。
18
+
19
+ (CPythonはPython言語の最も広く用いられている標準の実装のことです: by Wikipedia)
18
20
 
19
21
 
20
22
 
@@ -28,7 +30,7 @@
28
30
 
29
31
 
30
32
 
31
- から元のソースを取り出してそれを表示しているのだと思います。この情報はモジュールをimportする場合など、pythonのコンパイラーがソースファイルをコンパイルしてcodeオブジェクトに変換する際に記録されますがREPLのco_filenameは"<stdin>"などになっており、所謂普通のファイルパスではありません。
33
+ から元のソースを取り出してそれを表示しているのだと思います。この情報はモジュールをimportする場合など、CPythonのコンパイラーがソースファイルをコンパイルしてcodeオブジェクトに変換する際に記録されますがREPLのco_filenameは"<stdin>"などになっており、所謂普通のファイルパスではありません。
32
34
 
33
35
 
34
36
 
@@ -90,13 +92,13 @@
90
92
 
91
93
  ###IDLE
92
94
 
93
- こういう目的ならIDLEのREPL+Editorを使うのいいのではないでしょうか。ちょっと変数の中身を見たり関数の動きを試す際にはREPLを、関数を定義してrunとしたい場合はEditorを使うという感じです。
95
+ こういう目的ならIDLEのREPL+Editorを使うのいいのではないでしょうか。ちょっと変数の中身を見たり関数の動きを試す際にはREPLを、関数を定義してrunとしたい場合はEditorを使うという感じです。
94
96
 
95
97
 
96
98
 
97
- ###cpython -i
99
+ ###python -i
98
100
 
99
- IDLEのREPLはインデントがくずれたりとちょっとだけくせがある気がするのでcpythonをターミナル上で起動してREPLとして用いたくなる場合もよくあります。その場合REPL自身のヒストリー機能は活用しますが、関数をREPL上で定義するのはやはり面倒なので別の画面でエディターを起動しておいて普通にソースファイル上に関数を定義します。
101
+ IDLEのREPLはインデントがくずれたりとちょっとだけくせがある気がするのでpython(CPython)をターミナル上で起動してREPLとして用いたくなる場合もよくあります。その場合REPL自身のヒストリー機能は活用しますが、関数をREPL上で定義するのはやはり面倒なので別の画面でエディターを起動しておいて普通にソースファイル上に関数を定義します。
100
102
 
101
103
 
102
104
 
@@ -154,4 +156,4 @@
154
156
 
155
157
  ```
156
158
 
157
- というようなreload関数を定義しておき、REPL上から`reload()`と打ち込んでしまいます。定義の中身自体はリロードしたモジュール上にある名前を`__main__`モジュールへ上書きするというインチキくさいものなのでcpythonをREPLとして用いるときにしか使いません。
159
+ というようなreload関数を定義しておき、REPL上から`reload()`と打ち込んでしまいます。定義の中身自体はリロードしたモジュール上にある名前を`__main__`モジュールへ上書きするというインチキくさいものなのでCPythonをREPLとして用いるときにしか使いません。

3

誤記

2018/04/29 14:30

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -154,4 +154,4 @@
154
154
 
155
155
  ```
156
156
 
157
- というようなreload関数を定義しておき、REPL上から`reload()`と打ち込んでしまいます。定義の中身自体はリロードしたモジュール上にある名前を__main__モジュールへ上書きするというインチキくさいものなのでcpythonをREPLとして用いるときにしか使いません。
157
+ というようなreload関数を定義しておき、REPL上から`reload()`と打ち込んでしまいます。定義の中身自体はリロードしたモジュール上にある名前を`__main__`モジュールへ上書きするというインチキくさいものなのでcpythonをREPLとして用いるときにしか使いません。

2

誤記

2018/04/29 14:14

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- しかしながらinspect.pyをいてみると面白いコメントがありました。
35
+ しかしながらinspect.pyをいてみると面白いコメントがありました。
36
36
 
37
37
 
38
38
 

1

追記

2018/04/29 14:13

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -1,3 +1,19 @@
1
+ 追記:
2
+
3
+ quiquiさん回答からipythonを知り、インストールして少し使ってみたところ・・・今まで知らずにいて損した気分がだんだん強くなってきました。自分の回答は蛇足だったようです。
4
+
5
+
6
+
7
+ (ちなみにiptyonのREPL上で定義した関数fooについて
8
+
9
+ `foo.__code__.co_filename`を調べるとcpythonでは`<stdin>`であったのに対してiptyonでは`<ipython-input-4-01cc26abac88>`といった名前が入ってます。つまり元の回答で少し書いたlinecacheへのモンキーパッチをipythonはやってくれているということだと思います。)
10
+
11
+
12
+
13
+ 以下元の回答
14
+
15
+ ---
16
+
1
17
  cpython前提でのコメントです。
2
18
 
3
19