回答編集履歴
9
コメント追加
test
CHANGED
@@ -36,25 +36,25 @@
|
|
36
36
|
|
37
37
|
```python
|
38
38
|
|
39
|
-
$ python -m pdb sample.py
|
39
|
+
$ python -m pdb sample.py ☜ -m pdb を指定して実行することでデバッガが起動します
|
40
40
|
|
41
41
|
> /tmp/sample.py(1)<module>()
|
42
42
|
|
43
|
-
-> def circle(radius): ☜関数定義
|
43
|
+
-> def circle(radius): ☜最初の行(circle関数定義)が表示されます
|
44
|
+
|
45
|
+
(Pdb) step ☜step と入力してステップ実行します(circle関数オブジェクトが作られます)
|
46
|
+
|
47
|
+
> /tmp/sample.py(5)<module>()
|
48
|
+
|
49
|
+
-> value = circle(3) ☜関数を呼び出して、returnされた値を変数valueに代入します
|
44
50
|
|
45
51
|
(Pdb) step
|
46
52
|
|
47
|
-
> /tmp/sample.py(5)<module>()
|
48
|
-
|
49
|
-
-> value = circle(3) ☜関数を呼び出して、returnされた値を変数valueに代入します
|
50
|
-
|
51
|
-
(Pdb) step
|
52
|
-
|
53
|
-
--Call-- ☜関数を呼び出しました
|
53
|
+
--Call-- ☜関数を呼び出しました
|
54
54
|
|
55
55
|
> /tmp/sample.py(1)circle()
|
56
56
|
|
57
|
-
-> def circle(radius): ☜circle関数が呼び出されました
|
57
|
+
-> def circle(radius): ☜circle関数が呼び出されました
|
58
58
|
|
59
59
|
(Pdb) step
|
60
60
|
|
@@ -66,11 +66,11 @@
|
|
66
66
|
|
67
67
|
> /tmp/sample.py(3)circle()
|
68
68
|
|
69
|
-
-> return area ☜変数areaに代入されている値を返して関数処理を終了します
|
69
|
+
-> return area ☜変数areaに代入されている値を返して関数処理を終了します
|
70
70
|
|
71
71
|
(Pdb) step
|
72
72
|
|
73
|
-
--Return-- ☜関数からreturnします
|
73
|
+
--Return-- ☜関数からreturnします
|
74
74
|
|
75
75
|
> /tmp/sample.py(3)circle()->28.26
|
76
76
|
|
@@ -80,11 +80,11 @@
|
|
80
80
|
|
81
81
|
> /tmp/sample.py(6)<module>()
|
82
82
|
|
83
|
-
-> print(value) ☜valueの値をprintします
|
83
|
+
-> print(value) ☜valueの値をprintします
|
84
84
|
|
85
85
|
(Pdb) step
|
86
86
|
|
87
|
-
28.26 ☜valueの値がprintされました
|
87
|
+
28.26 ☜valueの値がprintされました
|
88
88
|
|
89
89
|
--Return--
|
90
90
|
|
8
説明追記
test
CHANGED
@@ -28,7 +28,9 @@
|
|
28
28
|
|
29
29
|
|
30
30
|
|
31
|
-
デバッガでステップ実行
|
31
|
+
デバッガでステップ実行した様子を示します。
|
32
|
+
|
33
|
+
`☜`でコメントを追記してあります。
|
32
34
|
|
33
35
|
|
34
36
|
|
7
コメント追加
test
CHANGED
@@ -38,17 +38,17 @@
|
|
38
38
|
|
39
39
|
> /tmp/sample.py(1)<module>()
|
40
40
|
|
41
|
-
-> def circle(radius): ☜関数定義を読み込んで関数オブジェクトを作
|
41
|
+
-> def circle(radius): ☜関数定義を読み込んで関数オブジェクトを作ります
|
42
42
|
|
43
43
|
(Pdb) step
|
44
44
|
|
45
45
|
> /tmp/sample.py(5)<module>()
|
46
46
|
|
47
|
-
-> value = circle(3) ☜関数を呼び出して、returnされた値を変数valueに代入す
|
47
|
+
-> value = circle(3) ☜関数を呼び出して、returnされた値を変数valueに代入します
|
48
48
|
|
49
49
|
(Pdb) step
|
50
50
|
|
51
|
-
--Call--
|
51
|
+
--Call-- ☜関数を呼び出しました
|
52
52
|
|
53
53
|
> /tmp/sample.py(1)circle()
|
54
54
|
|
@@ -64,11 +64,11 @@
|
|
64
64
|
|
65
65
|
> /tmp/sample.py(3)circle()
|
66
66
|
|
67
|
-
-> return area ☜変数areaに代入されている値を返します
|
67
|
+
-> return area ☜変数areaに代入されている値を返して関数処理を終了します
|
68
68
|
|
69
69
|
(Pdb) step
|
70
70
|
|
71
|
-
--Return--
|
71
|
+
--Return-- ☜関数からreturnします
|
72
72
|
|
73
73
|
> /tmp/sample.py(3)circle()->28.26
|
74
74
|
|
6
プロンプト変更
test
CHANGED
@@ -36,13 +36,13 @@
|
|
36
36
|
|
37
37
|
$ python -m pdb sample.py
|
38
38
|
|
39
|
-
> /
|
39
|
+
> /tmp/sample.py(1)<module>()
|
40
40
|
|
41
41
|
-> def circle(radius): ☜関数定義を読み込んで関数オブジェクトを作る
|
42
42
|
|
43
43
|
(Pdb) step
|
44
44
|
|
45
|
-
> /
|
45
|
+
> /tmp/sample.py(5)<module>()
|
46
46
|
|
47
47
|
-> value = circle(3) ☜関数を呼び出して、returnされた値を変数valueに代入する
|
48
48
|
|
@@ -50,19 +50,19 @@
|
|
50
50
|
|
51
51
|
--Call--
|
52
52
|
|
53
|
-
> /
|
53
|
+
> /tmp/sample.py(1)circle()
|
54
54
|
|
55
55
|
-> def circle(radius): ☜circle関数が呼び出されました
|
56
56
|
|
57
57
|
(Pdb) step
|
58
58
|
|
59
|
-
> /
|
59
|
+
> /tmp/sample.py(2)circle()
|
60
60
|
|
61
61
|
-> area = radius * radius * 3.14 ☜計算して値を変数areaに代入します
|
62
62
|
|
63
63
|
(Pdb) step
|
64
64
|
|
65
|
-
> /
|
65
|
+
> /tmp/sample.py(3)circle()
|
66
66
|
|
67
67
|
-> return area ☜変数areaに代入されている値を返します
|
68
68
|
|
@@ -70,13 +70,13 @@
|
|
70
70
|
|
71
71
|
--Return--
|
72
72
|
|
73
|
-
> /
|
73
|
+
> /tmp/sample.py(3)circle()->28.26
|
74
74
|
|
75
75
|
-> return area
|
76
76
|
|
77
77
|
(Pdb) step
|
78
78
|
|
79
|
-
> /
|
79
|
+
> /tmp/sample.py(6)<module>()
|
80
80
|
|
81
81
|
-> print(value) ☜valueの値をprintします
|
82
82
|
|
@@ -86,7 +86,7 @@
|
|
86
86
|
|
87
87
|
--Return--
|
88
88
|
|
89
|
-
> /
|
89
|
+
> /tmp/sample.py(6)<module>()->None
|
90
90
|
|
91
91
|
-> print(value)
|
92
92
|
|
5
コメント修正
test
CHANGED
@@ -38,13 +38,13 @@
|
|
38
38
|
|
39
39
|
> /cygdrive/l/home/shira/qiita/sample.py(1)<module>()
|
40
40
|
|
41
|
-
-> def circle(radius):
|
41
|
+
-> def circle(radius): ☜関数定義を読み込んで関数オブジェクトを作る
|
42
42
|
|
43
43
|
(Pdb) step
|
44
44
|
|
45
45
|
> /cygdrive/l/home/shira/qiita/sample.py(5)<module>()
|
46
46
|
|
47
|
-
-> value = circle(3)
|
47
|
+
-> value = circle(3) ☜関数を呼び出して、returnされた値を変数valueに代入する
|
48
48
|
|
49
49
|
(Pdb) step
|
50
50
|
|
@@ -52,19 +52,19 @@
|
|
52
52
|
|
53
53
|
> /cygdrive/l/home/shira/qiita/sample.py(1)circle()
|
54
54
|
|
55
|
-
-> def circle(radius):
|
55
|
+
-> def circle(radius): ☜circle関数が呼び出されました
|
56
56
|
|
57
57
|
(Pdb) step
|
58
58
|
|
59
59
|
> /cygdrive/l/home/shira/qiita/sample.py(2)circle()
|
60
60
|
|
61
|
-
-> area = radius * radius * 3.14
|
61
|
+
-> area = radius * radius * 3.14 ☜計算して値を変数areaに代入します
|
62
62
|
|
63
63
|
(Pdb) step
|
64
64
|
|
65
65
|
> /cygdrive/l/home/shira/qiita/sample.py(3)circle()
|
66
66
|
|
67
|
-
-> return area
|
67
|
+
-> return area ☜変数areaに代入されている値を返します
|
68
68
|
|
69
69
|
(Pdb) step
|
70
70
|
|
@@ -78,11 +78,11 @@
|
|
78
78
|
|
79
79
|
> /cygdrive/l/home/shira/qiita/sample.py(6)<module>()
|
80
80
|
|
81
|
-
-> print(value)
|
81
|
+
-> print(value) ☜valueの値をprintします
|
82
82
|
|
83
83
|
(Pdb) step
|
84
84
|
|
85
|
-
28.26
|
85
|
+
28.26 ☜valueの値がprintされました
|
86
86
|
|
87
87
|
--Return--
|
88
88
|
|
4
説明追加
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
こう書いてみてはいかがですか?
|
8
8
|
|
9
|
-
return文で返した area の値が value に代入されます。
|
9
|
+
`return`文で返した 変数 `area` の値が 変数 `value` に代入されます。
|
10
10
|
|
11
11
|
|
12
12
|
|
3
コメント追加
test
CHANGED
@@ -78,11 +78,11 @@
|
|
78
78
|
|
79
79
|
> /cygdrive/l/home/shira/qiita/sample.py(6)<module>()
|
80
80
|
|
81
|
-
-> print(value)
|
81
|
+
-> print(value) # ☜valueの値をprintします
|
82
82
|
|
83
83
|
(Pdb) step
|
84
84
|
|
85
|
-
28.26
|
85
|
+
28.26 # ☜valueの値がprintされました
|
86
86
|
|
87
87
|
--Return--
|
88
88
|
|
2
デバッガにコメント追記
test
CHANGED
@@ -38,35 +38,35 @@
|
|
38
38
|
|
39
39
|
> /cygdrive/l/home/shira/qiita/sample.py(1)<module>()
|
40
40
|
|
41
|
-
-> def circle(radius):
|
41
|
+
-> def circle(radius): # ☜関数定義を読み込んで関数オブジェクトを作る
|
42
42
|
|
43
43
|
(Pdb) step
|
44
44
|
|
45
45
|
> /cygdrive/l/home/shira/qiita/sample.py(5)<module>()
|
46
46
|
|
47
|
-
-> value = circle(3)
|
47
|
+
-> value = circle(3) # ☜関数を呼び出して、returnされた値を変数valueに代入する
|
48
48
|
|
49
|
-
(Pdb)
|
49
|
+
(Pdb) step
|
50
50
|
|
51
51
|
--Call--
|
52
52
|
|
53
53
|
> /cygdrive/l/home/shira/qiita/sample.py(1)circle()
|
54
54
|
|
55
|
-
-> def circle(radius):
|
55
|
+
-> def circle(radius): # ☜circle関数が呼び出されました
|
56
56
|
|
57
|
-
(Pdb)
|
57
|
+
(Pdb) step
|
58
58
|
|
59
59
|
> /cygdrive/l/home/shira/qiita/sample.py(2)circle()
|
60
60
|
|
61
61
|
-> area = radius * radius * 3.14
|
62
62
|
|
63
|
-
(Pdb)
|
63
|
+
(Pdb) step
|
64
64
|
|
65
65
|
> /cygdrive/l/home/shira/qiita/sample.py(3)circle()
|
66
66
|
|
67
|
-
-> return area
|
67
|
+
-> return area # ☜計算した値を返します
|
68
68
|
|
69
|
-
(Pdb)
|
69
|
+
(Pdb) step
|
70
70
|
|
71
71
|
--Return--
|
72
72
|
|
@@ -74,13 +74,13 @@
|
|
74
74
|
|
75
75
|
-> return area
|
76
76
|
|
77
|
-
(Pdb)
|
77
|
+
(Pdb) step
|
78
78
|
|
79
79
|
> /cygdrive/l/home/shira/qiita/sample.py(6)<module>()
|
80
80
|
|
81
81
|
-> print(value)
|
82
82
|
|
83
|
-
(Pdb)
|
83
|
+
(Pdb) step
|
84
84
|
|
85
85
|
28.26
|
86
86
|
|
1
説明追記
test
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
上から順に実行しますが、関数定義は関数オブジェクトを作るだけで、関数は実行しません。
|
2
|
+
|
3
|
+
`circle(3)` と関数呼出しすることで関数内の処理が実行されます。
|
4
|
+
|
5
|
+
|
6
|
+
|
1
7
|
こう書いてみてはいかがですか?
|
2
8
|
|
3
9
|
return文で返した area の値が value に代入されます。
|