質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1275閲覧

変数についてわからないことが...

zenbo0114

総合スコア53

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/10/08 11:55

def post_review(): # 変数の定義 post = {} print("ジャンルを入力してください:") post["genre"] = input() print("タイトルを入力してください:") post["title"] = input() print("感想を入力してください:") post["review"] = input() line = "\n---------------------------" # レビューの描"画 print("ジャンル :" + post["genre"] + line) print("タイトル:" + post["title"] + line) print("感想 : \n" + post["review"] + line) posts.append(post) def read_reviews(): print("見たいレビューの番号を入力してください:") user_input = int(input()) post = posts[user_input] line = "\n---------------------------" print("ジャンル :" + post["genre"] + line) print("タイトル:" + post["title"] + line) print("感想 :" + post["review"] + line) def end_program(): exit() def exception(): print("入力された値は無効な値です") posts = [] while True: # メニューの表示 print("レビュー数:" + str(len(posts))) print("レビュー数:0") print("[0]レビューを書く") print("[1]レビューを読む") print("[2]アプリを終了する") user_input = int(input()) if user_input == 0: post_review() # post_review()関数の呼び出し elif: user_input == 1: read_reviews() # end_program関数の呼び出し elif: user_input == 2: end_program() # end_program関数の呼び出し else: exception()

この、post_review関数の変数postと、read_review関数の変数のは、全く別物なんですか?
あまりに初歩的なことなのですが、親切な方、どうか教えてきださい!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

実験すればすぐにわかります。

Python

1>>> def func(): 2... num = 10 3... print('func', num) 4... 5>>> func() 6func 10 7>>> print(num) 8Traceback (most recent call last): 9 File "<stdin>", line 1, in <module> 10NameError: name 'num' is not defined

関数内の変数は、基本的に関数外からアクセス不可能です。
これはもちろん関数同士の関係でも同じことです。

Python

1>>> def func_a(): 2... num = 100 3... print('a', num) 4... 5>>> def func_b(): 6... num = 10 7... func_a() 8... print('b', num) # さて、numは10?100? 9... 10>>> func_b() 11a 100 12b 10

投稿2017/10/08 12:03

編集2017/10/08 12:07
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zenbo0114

2017/10/08 12:11

ありがとうございまず!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問