「Python」superで親クラスのコンストラクタを実行するサンプル

環境
PyCharm 2021.3
Python 3.9.7

書式

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class クラスA:
def __init__(self, 変数1...):
class クラスB(クラスA):
def __init__(self, 変数1...):
super().__init__(変数1...)
class クラスA: def __init__(self, 変数1...): class クラスB(クラスA): def __init__(self, 変数1...): super().__init__(変数1...)
class クラスA:
    def __init__(self, 変数1...):
class クラスB(クラスA):
       def __init__(self, 変数1...):
        super().__init__(変数1...)

superを利用して、親クラスのコンストラクタを使用します。
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# coding: utf-8
#親クラス
class Parent:
def __init__(self, name,addr):
self.userName = name
self.addr = addr
#子クラス
class Child(Parent):
def __init__(self, name,addr):
# superで親クラスのコンストラクタを実行
super().__init__(name,addr)
#親クラスのコンストラクタ
cft = Parent("山田 太郎","東京都 品川区")
print("ユーザー名: ")
print(cft.userName)
print("都市: ")
print(cft.addr)
# coding: utf-8 #親クラス class Parent: def __init__(self, name,addr): self.userName = name self.addr = addr #子クラス class Child(Parent): def __init__(self, name,addr): # superで親クラスのコンストラクタを実行 super().__init__(name,addr) #親クラスのコンストラクタ cft = Parent("山田 太郎","東京都 品川区") print("ユーザー名: ") print(cft.userName) print("都市: ") print(cft.addr)
# coding: utf-8
#親クラス
class Parent:
    def __init__(self, name,addr):
        self.userName = name
        self.addr = addr
#子クラス
class Child(Parent):
    def __init__(self, name,addr):
        # superで親クラスのコンストラクタを実行
        super().__init__(name,addr)
#親クラスのコンストラクタ
cft = Parent("山田 太郎","東京都 品川区")
print("ユーザー名: ")
print(cft.userName)
print("都市: ")
print(cft.addr)

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ユーザー名:
山田 太郎
都市:
東京都 品川区
ユーザー名: 山田 太郎 都市: 東京都 品川区
ユーザー名: 
山田 太郎
都市: 
東京都 品川区

 

Python

Posted by arkgame