フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

Python モジュールとClassについて

モジュールを作成する

  • モジュールを作成するには、必要なコードを.pyファイル拡張子の付いたファイルに保存するだけ。

サンプル

  • このコードをという名前のファイルに保存します hello.py
def greeting(name):
  print("Hello, " + name)

モジュールを使用する

  • これで、次のimportステートメントを使用して、作成したモジュールを使用できます。
import hello

hello.greeting("山田")

クラスとオブジェクト

クラスを作成する

  • クラスを作成するには、キーワードclass:を使用します。
class MyClass:
  x = 5

オブジェクトの作成

  • これで、MyClassという名前のクラスを使用してオブジェクトを作成できます。
p1 = MyClass()
print(p1.x)

init ()関数

  • すべてのクラスにはinit ()という関数があり、クラスが開始されるときに常に実行されます。
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1.name)
print(p1.age)

オブジェクトメソッド

  • オブジェクトにはメソッドを含めることもできます。オブジェクト内のメソッドは、オブジェクトに属する関数です。
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("John", 36)
p1.myfunc()

自己パラメータ

  • selfパラメータは、クラスの現在のインスタンスへの参照であり、そしてクラスに属するアクセス変数に使用されます。
  • 名前selfを付ける必要はありません。好きなように呼び出すことができますが、クラス内の関数の最初のパラメーターである必要があります。
class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("John", 36)
p1.myfunc()

パスステートメント

  • class定義を空にすることはできませんが、何らかの理由でclass内容のない定義がある場合はpass、エラーが発生しないようにステートメントに入れてください。
class Person:
  pass