Python入門6

入門編の第6回目となります。

Aidemyさんの講座を受講しながらアウトプットのためにブログを更新しております。

AidemyさんHP → https:// aidemy.net

【関数】

関数とは特定の処理をまとめたプログラムのことを言います。

関数に関連する単語を簡単に説明しておくと、、、

引数   :関数に渡す値(関数への入力値)のこと
関数の実行:関数に引数を渡して、コードを実行し、その処理結果を得る。
      他にも「関数を呼び出す」「関数呼び出し」とも表現される
戻り値・返り値:関数で処理された結果、返ってくる値

関数の種類は組込関数ユーザ定義関数があります

組込関数:Pythonに初めから設定されている関数

具体的には、、、

画像1

今回は深入りはせず、紹介に留めます。

ユーザ定義関数:自分が作って定義した関数

「def文」を使って関数を定義します。

定義すると言ってもイメージがつかないので例文をいくつか記載します

<シンプル1>

def hello():
   print('Hello')
hello()

>>> 出力結果
# Hello

<シンプル2>

# 「Yamadaです」と出力する関数introduceを作ってください
def introduce():
   print("Yamadaです")
introduce() # 関数の呼び出し

>>> 出力結果
Yamadaです

<引数を複数指定>

def introduce(first, family):
   print("名字は" + family + "で、名前は" + first + "です。")
introduce("taro", "Yamada")

>>> 出力結果
名字はYamadaで、名前はtaroです。

下記の表現でも同じ出力結果となります。

def introduce(family="Yamada", first="Taro"):
   print("名字は" + family + "で、名前は" + first + "です。")
introduce()

>>> 出力結果
名字はYamadaで、名前はtaroです。

<引数の初期値>

引数に 初期(デフォルト)値を設定すると、引数が空欄の場合、自動的に初期値が設定されます。

def introduce(family="Yamada", first="Taro"):
   print("名字は" + family + "で、名前は" + first + "です。")
introduce("Suzuki")

>>> 出力結果
名字はSuzukiで、名前はTaroです。

この場合は、firstのみが初期値として設定され、familyは"Suzuki"で上書きされています。もしfirstの引数のみ渡したい場合はintroduce(first="Jiro")と指定してあげればよいです。

<return>

関数で定義した変数や引数は関数外では使用できません。しかし、returnを使用することで、関数の呼び出し元に戻り値(返り値)を渡すことができるようになります。
戻り値とは関数の処理を終了する際に、呼び出し元に対して渡す値のことを言います。

returnを使っていない場合と使った場合とで比較して見ていきます。

⭐︎returnを使っていない

def introduce(family = "Yamada", first = "Taro"):
   comment = "名字は" + family + "で、名前は" + first + "です。"
print(introduce("Suzuki"))

​>>> 出力結果
None

⭐︎returnを使っている

def introduce(family = "Yamada", first = "Taro"):
   comment = "名字は" + family + "で、名前は" + first + "です。"
   return comment        #関数(comment)に戻り値を渡す
print(introduce("Suzuki")) 

>>> 出力結果
名字はSuzukiで、名前はTaroです。       # comment内の名字が上書きされる

<引数や戻り値を指定する形式>

def test(a, b):   #test関数はaとbの引数を持っている
   return a + b   #aとbを足す事を定義
x = test(8, 7)    #aとbにはそれぞれ8と7を代入してものをxとする
print(x)         #xを出力する

>>> 出力結果
15

少し複雑にしてみると、、、

def print_test(a, b, c):
   print('a = ', a)
   print('b = ', b)
   print('c = ', c)
   print('a + b + c = ', a + b + c)
print_test(9, 99, 999)

>>> 出力結果
a =  9
b =  99
c =  999
a + b + c =  1107

となります。今回は基本の型で留めておきます。

【メソッド】

Pythonで処理を行っていくにあたり、「関数」と「メソッド」があるわけですが、その2つの違いは呼び出し方にあります。

・関数  :単独で呼び出し可能
・メソッド:変数や値に付けて呼び出す

具体的には、、、
print()    #関数
data.append()     #メソッド→appendの前にdataという変数をつける

となります

<append:追加>

alphabet = ["a","b","c","d","e"]
alphabet.append("f")
print(alphabet) 

>>> 出力結果
['a', 'b', 'c', 'd', 'e', 'f']

<upper:大文字/count:指定文字数数える>

city = "Tokyo"
print(city.upper())    #「TOKYO」が出力される。 upperは大文字にする
print(city.count("o")) #「2」が出力される。 countは指定文字を数える

<format:置換>

fruit = "banana"
color = "yellow"

# 「bananaはyellowです」と出力してください
print("{}は{}です".format(fruit,color))

<index:インデックス番号を返す>

n = [3, 6, 8, 6, 3, 2, 4, 6]

# 「2」のインデックス番号を出力してください
print(n.index(2)) #出力結果5

# 変数nの中に「6」がいくつあるか出力してください
print(n.count(6)) #出力結果3

<sort/revesve>

sort()  :リストの要素を小さい順に並べ替えます。
reverse():リストの要素の並び順を反対 にできます。

n = [53, 26, 37, 69, 24, 2]

# 変数nをソートし、数字が小さい順になるように出力してください
n.sort()
print(n)  #出力結果 [2, 24, 26, 37, 53, 69]

# 小さい順にソートされた変数nの要素を反転し、数字が大きい順になるように出力してください
n.reverse()
print(n) #出力結果 [69, 53, 37, 26, 24, 2]

ちなみに下記コードをPython環境で実行すると全メソッドを出力できます。

import inspect

test = "abc"

for t in inspect.getmembers(test):
   print(t)
   

今回はこれで以上とさせていただきます。

お読みいただきましてありがとうございました。

この記事が気に入ったらサポートをしてみませんか?