基本文法2
関数
関数とは?
関数とは、一連の処理をひとまとめにしたものです。何度も同じ処理を行いたいときに便利です。
例えば、「2つの数字を足す」処理を考えてみましょう。
関数を使わない場合:
print(2 + 3)
print(5 + 7)
print(10 + 20)
毎回 + を書くのは面倒ですよね。そこで 関数 を使います。
関数を使う場合:
def add(a, b):
return a + b
print(add(2, 3))
print(add(5, 7))
print(add(10, 20))
これで、add という関数を作り、再利用できるようになりました!
関数の作り方
関数を作るには、次の4つのポイントを押さえましょう。
- def を使って関数を定義する。
- 関数の名前を決める。
- 必要に応じて 引数(ひきすう) を指定する。
- return で結果を返す(必要な場合)。
例: 2つの数を掛け算する関数
def multiply(x, y):
return x * y
print(multiply(4, 5)) # 20
引数とは?
関数に渡す値のことを 引数(ひきすう)といいます。
def greet(name):
print("こんにちは, " + name + "!")
greet("太郎") # こんにちは, 太郎!
greet("花子") # こんにちは, 花子!
関数 greet は name という引数を受け取り、それを使って挨拶を表示します。
デフォルト引数
引数には デフォルト値 を設定することもできます。
def greet(name="ゲスト"):
print("こんにちは, " + name + "!")
greet() # こんにちは, ゲスト!
greet("太郎") # こんにちは, 太郎!
引数を渡さなかった場合、ゲスト という値が使われます。
複数の戻り値
関数は 複数の値 を返すこともできます。
def calculate(x, y):
sum_result = x + y
product = x * y
return sum_result, product
s, p = calculate(3, 4)
print("合計:", s) # 合計: 7
print("掛け算:"`, p) # 掛け算: 12
複数の値を返すことができるプログラミング言語もあれば、1つの値しか返せないプログラミング言語もあります。
class
プログラミングにおける「クラス」は、オブジェクト指向プログラミングという考え方の中心的な要素で、データとその操作を1つにまとめた「設計図」のようなものです。クラスを使うことで、プログラム内で扱うデータの構造や振る舞いを整理し、再利用しやすくなります。
クラスの具体例
例えば、「人間」を表すクラスを考えてみましょう。このクラスには、名前や年齢といった属性(データ)と、挨拶をするなどの動作(操作)を定義できます
class Human:
def __init__(self, name, age):
self.name = name # 名前
self.age = age # 年齢
def greet(self):
print(f"こんにちは、私は{self.name}、{self.age}歳です。")
# Humanクラスのインスタンスを作成
person = Human("太郎", 25)
# メソッドを呼び出す
person.greet()
# 出力: こんにちは、私は太郎、25歳です。
クラスの構成要素
-
属性(フィールド)
- クラスが持つデータ。上記の例では、name(名前)とage(年齢)が該当します。
-
操作(メソッド):
- クラスが行う動作や機能。上記の例では、greetメソッドが該当し、挨拶の動作を定義しています。
-
クラスの利用方法
- クラスを定義した後、そのクラスから具体的な「オブジェクト」を作成します。これをインスタンス化と呼びます。
-
コンストラクタ
- インスタンスを作成する際に呼び出される特別なメソッド。Pythonでは、
__init__という名前で定義します。
- インスタンスを作成する際に呼び出される特別なメソッド。Pythonでは、
このように、クラスを使うことで、関連するデータと操作を1つにまとめ、プログラムを整理しやすくします。