Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド VBAユーザーの為のPYTHON

VBAユーザーの為のPYTHON

VBAユーザーの為のPYTHON
Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド

VBAユーザーの為のPYTHON 08回

Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド



【動画の内容】Pythonで関数を自作する

【動画で学べる内容】
●1.Pythonで関数を自作するにはどうするか。
●2.IFを使った条件分岐をPythonコードで書いてみる
●3.Pythonのif文は小文字
●4.ブロックの開始を示すためにコロン(:)を使用
●5.インデントは必須
●6.input()関数の使い方

いきなりPython × Excel8回、Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド、GoogleColabでPython入門

1. ExcelVBAで書いたマクロコードは以下のようになります。それをPythonで書くとどのようなコードになるのかという説明をします。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド-1

2. VBA大文字と小文字、Pythonは小文字
IF文はVBAで使用されるキーワードであり、大文字で始まります。
if文はPythonで使用される組み込みキーワードであり、小文字で始まります。Else IFは小文字でelif、 Else はelse 、End IF はPythonの場合は不要です。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド-2

4. 最初に示したVBAコードをPythonコードで書き直すとこのようになります。
Pythonコードが以下のようにシンプルなのは、インデントが構文の一部になっているためです。
Pythonでは、ブロックの開始を示すためにコロン(:)を使用し、ブロックのコードはインデントによって区切ります。End Ifは不要です。インデントがなければブロックが終了するからです。

# 敏雄の点数を例として設定
点数 = 70

if 40 <= 点数 <= 60:
    評価 = '良'
elif 点数 < 40:
    評価 = '可'
else:
    評価 = '優'

print(f"敏雄の点が{点数}点なので、敏雄は{評価}をもらえるでしょう。")
Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド-4

5.条件が一つの場合はこのようなコードになります。

# 条件が1つ
点数 = 70
if 点数 >= 60:
    print("優です。")
Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド-5

6.条件を2通りに分岐する場合はこのようなコードになります。

# 条件が2つ
点数 = 50
if 点数 >= 60:
    print("優です。")
else:
    print("優ではありません。")
Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド-6

f文字列

7. 最初の3通りの分岐のコードでは、print()関数を使った引数の文字列の中でf文字を使いました。
f文字を使うと、とても柔軟な文字列を表示することができます。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド-7

8. f文字とは、Format済み文字列リテラル(文字を直接コードにベタ打ち)ということを示しています。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド-8

Pythonで関数を作成する

9. 関数を作成することで、同じ処理を複数回実行する必要がある場合でも、同じコードを何度も書く必要がなくなります。
出現回数の多いコードは関数にしておくと便利です。
Pythonでは、def キーワードを使用して関数を定義します。
関数の本体はインデント(字下げ)されたブロック内に記述されます。
Pythonの関数は、return キーワードを使用して戻り値を返します。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド9

10. 最初の3通りの場合分けのPythonコードを関数にしてみました。

# 関数を作成
def 評価(点数):
    if 40 <= 点数 <= 60:
        return  '良'
    elif 点数 < 40:
        return  '可'
    else:
        return  '優'
Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド10

11. 実行すると、期待通りの答えを得ることができました。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド11

ユーザーに値を入力してもらうinput()関数

12. さてせっかく関数も作成したことですので、柔軟に使ってもらえるようにユーザーに値を入力してもらうためのinput()関数を使ってみましょう。
Pythonのinput()関数は、ユーザーからの入力を受け取る際に使用される非常にシンプルで便利な関数です。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド12

13. input()関数の引数はオプションですので、指定しない場合はユーザーに何もメッセージを表示せずに入力を待ちます。
それですと、不親切ですから、やはりメッセージを表示させましょう。


Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド13

14. 数値入力の処理
input()関数が受け取るのは文字列なので、数値を入力しても文字列として受け取ります。
ユーザーから年齢を入力してもらい、それを数値として扱いたい場合には数値に変換してやる必要があります。int()関数の登場です。

# ユーザーに入力してもらう
点数 = int(input("点数を入力してください。"))

コードはこれだけ、これでユーザーからの入力データを受け取れます。

Pythonで関数を自作する、条件分岐の使い方、f-stringsとformatメソッド14

15. 今回はVBAで実行していた条件分岐のコードをPythonでする場合についてのコードを作成しながら、学習しました。 formatメソッドやf文字についてのプリント関数で詳しく説明しています。興味のある方はそちらもご覧ください。