teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2017/09/15 12:06

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -11,4 +11,36 @@
11
11
  Traceback (most recent call last):
12
12
  File "<stdin>", line 1, in <module>
13
13
  NameError: name 'a' is not defined
14
- ```
14
+ ```
15
+
16
+ 正しく動作させるためには、返り値を受け取る必要があります。
17
+ ```Python
18
+ >>> def func():
19
+ ... a = 3
20
+ ... return a
21
+ ...
22
+ >>> a = func()
23
+ >>> print(a)
24
+ 3
25
+ ```
26
+
27
+ なお、func内のaと外側のaは、名前が同じだけで別物として扱われます。
28
+ よって、以下のコードはエラーが出ます。
29
+ ```Python
30
+ >>> def func():
31
+ ... a = 3
32
+ ... return a
33
+ ...
34
+ >>> b = func()
35
+ >>> print(b)
36
+ 3
37
+ >>> print(a)
38
+ Traceback (most recent call last):
39
+ File "<stdin>", line 1, in <module>
40
+ NameError: name 'a' is not defined
41
+ ```
42
+
43
+ ---
44
+ コードはバッククオート三つで括ってください。
45
+ よくわからない場合は、マークダウン記法について調べてみてください。
46
+ 特にPythonの場合、インデントが崩れるとコードの意味が変わってきます。