【高校情報Ⅰ】 プログラミング Python 入門 第6話 関数と引数
動画を見たら以下の問題が解けるようになります
■■動画解説■■
情報Ⅰ共通テスト対策 書籍出版します!
■文字おこし■
今日は、Pythonの関数について、学んでいこう。
これまで、HelloWorldの表示から始まって、比較的短いプログラムを色々学んできたよね
実際のシステム開発現場で作成されるプログラムはもっと処理が複雑で長いものが多いんだ。
同じ処理の繰り返しなどプログラムがぐちゃぐちゃで他人が理解しにくいプログラムを
スパゲティプログラムとか言ったりするんだ。
スパゲティってたしかに麺がぐちゃぐちゃだよね。
スパゲティを防ぐ方法の一つに関数っていうものがある。
関数は とある処理を行う命令のまとまりを ブロックに書いてまとめたものなんだ
いままで使ってきたprint()という画面に表示するプログラムも、カッコ内にある文言を表示させる処理を纏めた関数なんだ。
この関数は自分自身で定義することもできる
たとえば、こんなプログラムがあったとしよう
print(“おはよう”)
print(“こんにちは”)
print(“こんばんは”)
print(“おはよう”)
print(“こんにちは”)
print(“こんばんは”)
print(“おはよう”)
print(“こんにちは”)
print(“こんばんは”)
よく見ると おはよう、こんにちは、こんばんはを3回繰り返しているだけだね。
ここで関数の出番だ、この挨拶の共通部分を切り出して別に定義しよう
関数 あいさつ を定義してその中に
おはよう、こんにちは、こんばんは部分を切り出して記載する。
関数は def の後に半角スペースで関数名を記載する。
その後に丸カッコをつけて、その中に引数という渡したい値を定義して最後にコロンを付けるんだ。
def 関数名(引数):
今回は特に渡す値が無いから引数無しでやっていこう。
関数名は挨拶とするね。
def aisatsu():
print(“おはよう”)
print(“こんにちは”)
print(“こんばんは”)
と定義する。
これを呼び出す場合は
aisatsu()と記述すれば呼び出せる
一度実行してみよう
こんどは3回繰り返すためにFOR文の中にいれていこう
for i in range(3):
aisatsu()
実行してみよう。
ちゃんと3回繰り返されたね。
複雑な処理も、まとまった単位で切り出せばプログラムが見やすくなるね。
じゃあ、引数を渡すパターンで考えてみよう
商品名と金額を渡すと
商品名の消費税は◎◎円です。と表示するプログラムにしていこう
まずは関数部分
# 関数 :keisan 引数 商品名と値段
def keisan(syouhin_name, price):
tax = 0.08
print(syouhin_name, "の消費税は", price*tax, "です。")
keisan("まんじゅう", 100)
いまは、関数内で完結したけど
関数から値を受け取ることも可能なんだ。
戻したい値のところでreturnを使うんだ。
この戻ってくる値を戻り値っていう
復習問題
答え
使用プログラム
# 関数:aisatsu 引数無し 挨拶を出力
def aisatsu():
print("おはよう")
print("こんにちは")
print("こんばんは")
for i in range(3):
aisatsu() # 関数の呼び出し
# 関数:keisan 引数 商品名と値段
def keisan(syouhin_name, price):
tax = 0.08
print(syouhin_name, "の消費税は、", price*tax, "円です。")
# 関数keisanの呼び出し 引数:まんじゅう 100
keisan("まんじゅう", 100)
# 「これは戻り値です」と返却する 関数名:modori
def modori():
henkyaku = "これは戻り値です。"
return henkyaku
# modori関数を呼び出し返却された値を表示
print(modori())
def zikoku(): # 関数名:zikoku 引数:なし
print("朝") # 朝と出力
print("昼") # 昼と出力
print("夜") # 夜と出力
for i in range(10): # 10回繰り返し
zikoku() # 関数:zikokuの呼び出し
def keisan(price): # 関数名:keisan 引数:price
tax = 0.08 # 変数名:tax に値0.08を代入
zeikomi = price + price * tax # 変数名:zeikomi にpriceとprince x taxの金額を代入
return zeikomi # 変数 zeikomiの値を返却
print(keisan(1000)) # keisan関数に引数1000を渡し返却値を表示
この記事が気に入ったらサポートをしてみませんか?