pythonクラス、関数の定義と呼び出し
1399 ワード
定義と呼び出し:
クラス(class)を定義する場合、構築方法def_init__(self,xxx,xxx)メソッドは、クラスが呼び出されるたびにインスタンス作成のために自動的に実行される特殊なメソッドです.実パラメータselfを自動的に渡します.(selfはその例を指す)
クラスを呼び出してインスタンスを作成する場合は、self以外のパラメータ(xxx,xxx)を定義する必要があります.
継承:
新しいクラスの定義とは2つの違いがあります.
①クラスの名前を付けるときは、カッコに親を表示します.
②メソッドを定義するときは、子の定義と親の定義を結合します.
これにより、子クラスをインスタンス化するときに親クラスの構造方法が呼び出されます.
関数:
インスタンス化オブジェクトを操作する必要がある場合は、パラメータselfを付けます.クラスのインスタンス化オブジェクトを操作する必要がない場合はselfパラメータは必要ありません.(第2の場合はメソッドmethodに属し、引数を入力する必要はありません.実パラメータを入力する必要があるのは関数です).
また、関数は、実パラメトリック伝達の方法(位置伝達とキーワード伝達、デフォルト値)と戻り値方法も処理します.
ファイル呼び出しの前にインポート:
例:
クラス(class)を定義する場合、構築方法def_init__(self,xxx,xxx)メソッドは、クラスが呼び出されるたびにインスタンス作成のために自動的に実行される特殊なメソッドです.実パラメータselfを自動的に渡します.(selfはその例を指す)
def __init__(self,xxx,xxx)
クラスを呼び出してインスタンスを作成する場合は、self以外のパラメータ(xxx,xxx)を定義する必要があります.
継承:
新しいクラスの定義とは2つの違いがあります.
①クラスの名前を付けるときは、カッコに親を表示します.
②メソッドを定義するときは、子の定義と親の定義を結合します.
def __init__(self,xxx,xxx,xxx):
super().__init__(xxx,xxx,xxx)
これにより、子クラスをインスタンス化するときに親クラスの構造方法が呼び出されます.
関数:
def contrail(self,x,y):
def update():
インスタンス化オブジェクトを操作する必要がある場合は、パラメータselfを付けます.クラスのインスタンス化オブジェクトを操作する必要がない場合はselfパラメータは必要ありません.(第2の場合はメソッドmethodに属し、引数を入力する必要はありません.実パラメータを入力する必要があるのは関数です).
また、関数は、実パラメトリック伝達の方法(位置伝達とキーワード伝達、デフォルト値)と戻り値方法も処理します.
return xxx
次に、インスタンスに戻り値を格納する変数を指定する必要があります.what=contrail()ファイル呼び出しの前にインポート:
from xxx import Xxx
例:
class Bullet(Sprite):
def __init__(self,ai_settings,screen,ship):
super().__init__() #
self.screen = screen
self.rect=pygame.Rect(0,0,ai_settings.bullet_width,ai_settings.bullet_height)
self.rect.centerx=ship.rect.centerx
self.rect.centerx=ship.rect.centerx
self.rect.top=ship.rect.top
self.y=float(self.rect.y)
self.color=ai_settings.bullet_color
self.speed_factor=ai_settings.bullet_speed_factor