回答編集履歴
4
コード自体を追加
answer
CHANGED
@@ -41,4 +41,15 @@
|
|
41
41
|
```
|
42
42
|
|
43
43
|
Pythonバイトコードの説明は、[Python バイトコード命令](https://docs.python.org/ja/3/library/dis.html?highlight=%E9%80%86%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AB#python-bytecode-instructions)を見てください。
|
44
|
-
どの命令がどういうバイトに対応しているかを知りたければ、Pythonのソースをダウンロードして、Includeにある.hファイルを見てください。多分code.hだった
|
44
|
+
どの命令がどういうバイトに対応しているかを知りたければ、Pythonのソースをダウンロードして、Includeにある.hファイルを見てください。~~多分code.hだったと思います。~~
|
45
|
+
opcode.hでした。
|
46
|
+
|
47
|
+
バイトコード自体を見たければ、
|
48
|
+
|
49
|
+
```python
|
50
|
+
>>> print(print_text.__code__.co_code)
|
51
|
+
b't\x00d\x01\x83\x01\x01\x00d\x00S\x00'
|
52
|
+
```
|
53
|
+
で表示されるものです。
|
54
|
+
これと逆アセンブルした結果を見比べれば意味は分かります。
|
55
|
+
ただし、この表示では最初のバイトがtと表示されているので、全てを16進表示に変更した方が見やすい出しょう。
|
3
バイトコード説明追加
answer
CHANGED
@@ -38,4 +38,7 @@
|
|
38
38
|
<code object print_text at 0x000002D2A1B48030, file "<stdin>", line 1>
|
39
39
|
>>> exec(code)
|
40
40
|
Hello
|
41
|
-
```
|
41
|
+
```
|
42
|
+
|
43
|
+
Pythonバイトコードの説明は、[Python バイトコード命令](https://docs.python.org/ja/3/library/dis.html?highlight=%E9%80%86%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AB#python-bytecode-instructions)を見てください。
|
44
|
+
どの命令がどういうバイトに対応しているかを知りたければ、Pythonのソースをダウンロードして、Includeにある.hファイルを見てください。多分code.hだったお思います。
|
2
コードの場所の修正
answer
CHANGED
@@ -32,8 +32,8 @@
|
|
32
32
|
関数print_textを直接呼び出さずにコードを実行したければexecを使うこともできます。
|
33
33
|
以下のようにやってください。
|
34
34
|
|
35
|
+
```python
|
35
36
|
>>> code = print_text.__code__
|
36
|
-
```python
|
37
37
|
>>> print(code)
|
38
38
|
<code object print_text at 0x000002D2A1B48030, file "<stdin>", line 1>
|
39
39
|
>>> exec(code)
|
1
execによる実行追加
answer
CHANGED
@@ -27,4 +27,15 @@
|
|
27
27
|
6 POP_TOP
|
28
28
|
8 LOAD_CONST 0 (None)
|
29
29
|
10 RETURN_VALUE
|
30
|
+
```
|
31
|
+
|
32
|
+
関数print_textを直接呼び出さずにコードを実行したければexecを使うこともできます。
|
33
|
+
以下のようにやってください。
|
34
|
+
|
35
|
+
>>> code = print_text.__code__
|
36
|
+
```python
|
37
|
+
>>> print(code)
|
38
|
+
<code object print_text at 0x000002D2A1B48030, file "<stdin>", line 1>
|
39
|
+
>>> exec(code)
|
40
|
+
Hello
|
30
41
|
```
|