defを使用することで関数の定義を行うことが出来ます。
Output
呼び出しの位置を間違えるとエラーとなる。
Output
NameError: name 'say_hello' is not defined
引数を受け取った場合
def say_hello(name):
print(f'Hello {name}')
say_hello('John')
Output
Hello John
引数がなかった場合
def say_hello(name):
print(f'Hello {name}')
say_hello()
Output
TypeError: say_hello() missing 1 required positional argument: 'name'
引数を省略するようにclassを設定する場合
def say_hello(name='Pam'):
print(f'Hello {name}')
say_hello()
say_hello('John')
Output
Hello Pam
Hello John
複数の入力パラメータ―を変更した場合
def say_hello(name='Pam', greeting=None):
if greeting == None:
print(f'Hello {name}')
else:
print(f'{greeting} {name}')
say_hello()
say_hello('John')
say_hello(greeting='Hi')
say_hello('John', 'Hi')
名前と挨拶の2つのパラメーター調整を可能にする基本的なコードです。
Noneは何もないという意味です。
Output
Hello Pam
Hello John
Hi Pam
Hi John
値を返してくれるようなclassを設定する
def add_two_numbers(x, y):
return x + y
add_two_numbers(4, 6)
result = add_two_numbers(5, 7)
print(result)
add_two_numbers(4, 6)部分は無視され、その下のresultで計算が行われています。
Output
12
リストを返してくれるような関数を設計する
def create_deck():
suits = ["Hearts", "Spades", "Clubs", "Diamonds"]
"King", "Ace"]
deck = []
for suit in suits:
for rank in ranks:
deck.append(f'{rank} {suit}')
return deck
my_deck = create_deck()
print(len(my_deck))
Output
52