LoginSignup
1
1

More than 1 year has passed since last update.

Python【 関数 】

Last updated at Posted at 2020-10-17

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
menu_item.py
class MenuItem:
    def __init__(self, name, price):
        self.name = name
        self.price = price

 

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1