Pythonの基礎知識③です。
自分の勉強メモです。
過度な期待はしないでください。
過去投稿記事
Python基礎
Python基礎②
Python基礎④
Python基礎⑤
関数
-関数とは、ある処理をまとめたプログラムの塊
-関数の作り方
def 関数名(): # 行末にコロン
実行する処理
# インデントを揃える(半角スペース4つ分)
def hello(): # 行末にコロン
print('Hello World')
# インデントを揃える(半角スペース4つ分)
hello()
#出力結果 → Hello World
-引数 関数を呼び出す際に、関数に値を渡すことができ、その値を引数と言う
def 関数名(仮引数): # 行末にコロン
実行する処理
# インデントを揃える(半角スペース4つ分)
def hello(name): # 行末にコロン
print('Hello' + name)
# インデントを揃える(半角スペース4つ分)
hello('Aki') # Akiが、仮引数nameに代入される
#出力結果 → Hello Aki
-スコープ 仮引数や関数の中で定義した変数は関数の中だけ使用できる
def hello(name):
print(name) # 変数nameのスコープ内、関数内なので使用出来る
print(name) # 変数nameのスコープ外、使えないのでエラー発生
-複数の引数
引数は左から順番に「第1引数、第2引数・・・」
と呼ぶ
def hello(name, message): # 行末にコロン, 引数の間はコンマで区切る
print('Hello' + name + message)
# インデントを揃える(半角スペース4つ分)
hello('Aki', '元気?') # Akiが、仮引数nameに、元気?が、仮引数messageに代入される
#出力結果 → Hello Aki 元気?
-引数の初期値 引数には初期値を設定することもできる
def hello(name, message = 'おはよう!'): # 行末にコロン
print(name + 'さん、' + message)
# インデントを揃える(半角スペース4つ分)
hello('Aki') # Akiが、仮引数nameに代入される
#出力結果 → Akiさん、 おはよう!
-戻り値
処理結果のを呼び出し元に返す
def 関数名(): # 行末にコロン
return 戻り値
# 呼び出し元に返す
def validate(hand):
if hand < 0 or hand > 2:
return False
# 呼び出し元に返す
-returnの性質
returnは戻り値を呼び出し元に返すだけでなく、関数内の処理を終了させる性質も持つ。
よって、return以降の関数の処理が実行される事はない。
def hello(name):
if name == 'ゲスト':
return '名前を教えてください'
print(name + 'さん、ようこそ!') # return以降なので実行されない
-複数のreturn 条件分岐と組み合わせると複数のreturnを用いることが出来る
def hello(name):
if name == 'ゲスト':
return '名前を教えてください'
print(name + 'さん、ようこそ!')
print(hello(Aki))
モジュール
-モジュールとは、コードが書かれたファイルのこと
-import
importを使うことでモジュールを読み込むことが出来る
「import モジュール名」
と書く事で読み込める
モジュール名はファイル名から拡張子(.py)を取り除いたもの
# ファイル名 → sample.py
import sample
-モジュールの使い方
上記では、只ファイルを読み込んだだけで、中に書かれている事は実行されない
「モジュール名.関数名()」と
書く事で、モジュール内に書かれている中見の実行をさせる事が出来る
# ファイル名 → sample.py
# 関数名 → validate(hand)
import sample
if sample.validate(hand)
-また,、Pythonには便利なモジュールが既にいくつか用意されています
「random」 = ランダムな値を生成するモジュール
「math」 = 複雑な演算の為のモジュール
「datetime」 = 日付や時間データを操作するモジュール
-追記 10月19日
「from モジュール名 import クラス名」
モジュール内の指定したクラスを直接読み込むことが出来る。
from menu_item import MenuItem
menu_item1 = MenuItem('サンドイッチ', 500)
print(vehicle_type1.name)
# 出力結果 → サンドイッチ
print(vehicle_type1.price)
# 出力結果 → 500
class MenuItem:
def __init__(self, name, price):
self.name = name
self.price = price