36歳が初めてプログラムを勉強してみる(19日目)
今日もpaizaでPythonの勉強しました。
今日学んだことです。
【学んだこと】
・スコープについて学んだ
・関数とループを合わせて使ってみた
次のようなことをやりました。
【やったこと】
●スコープについて学んだ
今回はスコープについて学びました。
スコープとは、変数の有効範囲が決まっていることです。
関数の中と外では同じ名前の変数は別物として扱われます。
変数の種類は「ローカル変数」、「グローバル変数」があります。
ローカル変数:関数内だけで使用できる変数
グローバル変数:関数内でも関数外でも使用できる変数
【スコープの範囲】
def 関数名():
変数A = "文字列" ← ローカル変数
変数A = "文字列" ← グローバル変数
※上記の変数Aは、同じ変数Aですが、別物として扱われます。
それでは実際のコードを見ていきましょう。
--コード--
msg = "bye"
def hello():
msg = "hello"
print(msg)
hello()
print(msg)
--出力結果--
hello
bye
このコードでは、まず「msg」という変数に「bye」という文字列を代入しています。
そして、関数定義で同じ「msg」という変数に「hello」という文字列を代入して出力しています。
結果、関数helloを呼び出した値は、「hello」となり、print関数で呼び出した値は、「bye」が出力されており、スコープによって同じ変数でも異なる結果が出たことが確認できます。
●関数とループを合わせて使ってみた
続いては、今まで学んだ関数とループを合わせてみました。
【関数に引数と戻り値を作る方法】
def 関数名(引数):
処理させたいプログラム
for 変数 in range(繰り返しの回数):
関数名
それでは実際のコードを見ていきましょう。
--コード--
import random
def kansu():
num = random.randint(1,10)
if num < 3:
print("習慣")
elif num < 6:
print("セルフコントロール")
else:
print("計画")
list1 = ["習慣", "セルフコントロール", "計画"]
for i in range(0,3):
kansu()
--出力結果--
セルフコントロール
計画
習慣
このコードでは、関数名「kansu」を作成し、その関数の中でランダムモジュールを使ってランダムな数字を「num」変数へ代入し、if文を使っています。
if文の内容
3以下:習慣を出力
6以下:セルフコントロールを出力
それ以外:計画を出力
その後、for文で3回「kansu」を呼び出しています。
結果、3回ランダムな数字の結果により、出力されるものが変わっています。
本日はここまでです。
以上です。ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?