- 2018-8-22
- pythonプログラミング, 関数
- python, 呼び出し, 定義, 引数, 関数
- 【Python】関数を定義する方法・呼び出しや引数についても解説 はコメントを受け付けていません
前回、正規表現について具体例を挙げながら
解説しました。
⇒【Python】正規表現を使って文字列を置換える方法まとめ
この記事では関数を定義して
そのあと、何度も定義した関数を呼び出す方法について解説します。
他にも引数についても解説します。
【Python】関数を定義する方法
Pythonで関数を定義する場合、『def』を使います。
まず例題1を一緒にやってみましょう。
#例題1(defで関数を定義できます) def daisuki(): print('チワワ') daisuki()
例題1でまず
def daisuki():
で、defの後の『daisuki():』で
daisuki()という関数を定義しました。
そして
def daisuki(): print('チワワ')
とdef daisuki():
の真下にprint(‘チワワ’)とすることで
daisuki()という関数がどういう動きをするのか指定しています。
ここではdaisuki()という関数は
print(‘チワワ’)ということでチワワと表示させるという意味になるわけですね。
で、ここで注意点ですが、
def daisuki(): print('チワワ')
とprint文は左に空白が開いてますね。
これをインデントといいます。
こうすることでdaisuki():という関数の中に
print文が入っていることを意味しています。
もし
def daisuki(): print('チワワ')
とprint文の左に空白がないと
daisuki()という関数とprint文は無関係ということになってしまいます。
ご注意ください。
ここまででdaisuki()という関数が定義できました。
次に
daisuki()
と書くだけで、daisuki()という関数が実行され
『チワワ』と表示されます。
実際に実行してみましょう。
【Python】定義した関数を何度でも呼び出しする方法
定義された関数は何度でも呼び出すことができます。
人間みたいに忘れません。
例題2をやってみましょう。
例題1でdaisuki()はチワワと表示されるように
定義しています。
#例題2(daisuki()でチワワと表示されるように定義しています) daisuki() daisuki() daisuki() daisuki() daisuki() daisuki() daisuki() daisuki() daisuki() daisuki()
実行すると
daisuki()と記述した回数だけ
チワワと表示されます。
こんな感じで何行か必要になる記述があるなら
関数として定義しておけば
1行でプログラムを実行できるようになります。
また複数行にわたって複雑な記述をすればするほど
ミスをする確率が高まります。
エラーが出たり、
無限ループに陥ったりする危険性もでてきます。
そうならないためにも
関数を定義する方法は必ずマスターしておいてくださいね。
【Python】引数について
引数とは関数に引き渡す値のことです。
ある値があって、その値を関数に渡してあげるわけです。
たとえばあなたがカップラーメンを持っていて
そのカップラーメンを友達(関数)に渡してあげる。
これならカップラーメンを引き渡すってことですね。
これがPythonにおける関数に対して値を引き渡すなら
引数(ひきすう)といっています。
例題3をご覧ください。
#例題3 def daisuki(a): print(a) daisuki('ブルドッグ')
まず
def daisuki(a):
ということでdaisukiという関数を定義したのですが、
(a)のaが引数です。
ここで
print(a)
こんな感じで引数aをプリントしています。
それから
daisuki('ブルドッグ')
daisukiという関数を呼び出すときに
()の中で値を渡してあげます。
ここでは’ブルドッグ’という文字列を渡すことにしましょう。
この渡した’ブルドッグ’という値が引数となります。
それから元の
def daisuki(a): print(a)
の中で’ブルドッグ’という引数が使われることになるんです。
なので
print(a)はprint(‘ブルドッグ’)ということになり
実行すると
『ブルドッグ』と表示されます。
こんな感じで引数を使うことで
定義された関数の外から値(ブルドッグ)を
受け取ることができるようになるんです。
【Python】引数(応用編)
例題3では1個の引数しか扱いませんでした。
ですが、引数は同時に複数扱うことができます。
さっそく例題4をご覧ください。
#例題4 def daisuki(x, y, z): a = x + y + z print(a) daisuki('ブルドッグ', 'が', '大好き')
例題4のように引数って『,』で区切れば
複数指定することが可能です。
こんな感じです。
def daisuki(x, y, z):
daisukiという定義された関数の中に
x,y,zの3つの引数が指定されています。
で、3つの引数を
a = x + y + z
変数aに代入しています。
そして変数aを表示します。
print(a)
で、daisukiという関数を呼び出すときには
daisuki(‘ブルドッグ’, ‘が’, ‘大好き’)
といった感じで、やはりカンマ区切りで値を指定します。
例題では
‘ブルドッグ’, ‘が’, ‘大好き’
という3つの値を引数として指定しています。
では実行してみましょう。
『ブルドッグが大好き』と表示されましたね。
文字列同士を+でつなげることを結合といいます。
‘ブルドッグ’, ‘が’, ‘大好き’が+で結合されて
『ブルドッグが大好き』と表示されたわけです。
詳しくはこちらの記事で詳しく解説しています。
⇒【Python】文字列を結合・抽出したり繰り返したりする方法
こんな感じで関数が外部(’ブルドッグ’, ‘が’, ‘大好き’)から
値を受け取る場合には引数を使います。
pythonを学ぶならこちらの動画講座がおすすめです
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
かなり長い講座名ですね。
わかりにくそうな感じがします。ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。
また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。値段は時期によって違います。
詳しくはこちらをご覧ください。
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。
単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。
Pythonで機械学習:scikit-learnで学ぶ識別入門
この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。でもそんなことはありません。
すごくわかりやすいです。pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。詳しくはこちらをご覧ください。