最近、AWS Lambdaを使い始めたのでPythonの基礎的な知識を備忘録として残します。
モジュール
モジュールは関連する関数や変数をまとめた一つのファイルです。
たとえ
文房具のセット
ペンや消しゴム定規などが一つのセットまとめられているセット
必要なときに取り出して使用するというイメージ。
例
import math
# mathモジュールから平方根を計算するsqrt関数を使用
print(math.sqrt(16))
# 出力: 4.0
クラス
クラスは、オブジェクトの設計図のようなもの。
クラスには、オブジェクトが持つべきデータ(属性)や機能(メソッド)を定義します。
たとえ
設計図に例えられます。
車の設計図がどんな車を作るかを決めるように、クラスはどんなオブジェクトを作るかを決定します。
設計図があれば何台でも同じ車を作れるのと同様、クラスを使っていくつでもオブジェクトを作成できます。
例
class Car:
def __init__(self, brand, color):
self.brand = brand
self.color = color
def drive(self):
print(f"{self.color} {self.brand} is driving!")
my_car = Car("Toyota", "Red")
my_car.drive()
# 出力: Red Toyota is driving!
クラスの定義
class: Pythonでクラスを定義するためのキーワード。
Car: クラスの名前。慣習として、クラス名は先頭を大文字にします。
役割: Carクラスは、車をモデル化する設計図で、属性(データ)とメソッド(機能)を持ちます。
__init__:
クラスのインスタンスが作成されたときに自動的に呼び出される「コンストラクタ」と呼ばれる初期化メソッド。
オブジェクトの初期化を行う。
引数:
self:
作成されたインスタンス自身を指します。メソッド内でインスタンスの属性にアクセスするために使用します。
インスタンスが作成されるたびにPythonが自動で渡します。
brand, color:
インスタンスを作成する際に指定するデータ(引数)。
self.brand = brand:
インスタンスの属性brandに、引数brandの値を代入します。
self.colorも同様に設定します。
オブジェクト
オブジェクトとは、データ(値)と、そのデータを操作する機能(メソッド)をまとめたもの。
すべてのデータ(例えば数値や文字列)はオブジェクトとして表現される。
たとえ
「クラス」が「設計図」なら、「オブジェクト」はその設計図から作られた「実際の製品」です。
設計図から作られた車1台1台が「オブジェクト」に相当します。
text = "Hello, Python"
# 文字列オブジェクト
print(text.upper())
# オブジェクトのメソッドを呼び出し、大文字に変換
# 出力: HELLO, PYTHON
メソッド
オブジェクトに関連付けられた関数のことです。
オブジェクトはデータとそのデータを操作するための関数
たとえ
メソッドはリモコンのボタンと同じ
電源を入れたり消したりボタン、音量を上げ下げするボタン。
チャンネルを変えたりするボタンである。
例
my_list = [1,2,3]
my_list.append(4) # リストに4を追加する
print(my_list)
# 出力 [1,2,3,4]
関数
一連の処理をまとめたものです。
特定の入力を受け取り、何らかの出力を返します。
たとえ
関数を料理のレシピと同じ。
レシピには使用する材料や調味料、その材料をつかって料理を作る手順が書かれている。完成した料理が出力となります。
例
「こんにちは!●●さん!」という型を作る場合
def greet(name):
return f"こんにちは!(name)さん!"
print(greet("太郎"))
# 出力 こんにちは!太郎さん!
引数
引数は関数やメソッドを渡す入力例のことをさします。
関数は引数を使って処理を行います。
レシピの中の材料のことをさします。
さきほどgreet関数のnameになります。
例
def add(a, b):
return a + b
# 引数を受け取る関数
print(add(3, 5))
# 引数に 3 と 5 を渡す
# 出力: 8