- 2018-8-28
- pythonプログラミング, クラス
- python, クラス, 継承
- 【Python入門】クラスの継承とは?どんなことができるの? はコメントを受け付けていません
前回はクラス変数とクラスメソッドについて解説しました。
もし前回の記事をご覧でない方は
先にこちらの記事をご覧ください。
⇒【Python】クラス変数とクラスメソッドの違い
今回はクラスの継承とはどういうことなのか、
それとクラスの継承の特徴について解説していきます。
【Python入門】クラスの継承とは?
クラスの継承とは何か、理解するために
まずは例題を一緒にやっていきましょう。
#例題1 クラスの継承 class Animal: #ここはクラス dog = 'shibainu' def hoeru(self): print('wanwan!') animal = Animal() print(animal.dog) animal.hoeru()
例題1について詳しく解説していきますね。
class Animal: #ここはクラス
まず、Animalというクラスを設定しています。
それから
dog = ‘shibainu’
クラス変数『dog』です。
クラス変数はクラスの中に記述されている変数のことです。
クラス変数の詳細はこちらで解説しています。
⇒【Python】クラス変数とクラスメソッドの違い
それから
def hoeru(self):
hoeruというメソッドです。
メソッドについてはこちらで詳しく解説しています。
⇒【Python入門】メソッドとは?わかりやすく解説します
次に
animal = Animal() print(animal.dog) animal.hoeru()
Animalというクラスに()をつけることで
インスタンスが生成されます。
これがanimalという変数に代入され
dogの値をprint文によって表示させ、
animalメソッドを呼び出しています。
実行すると
shibainu
wanwan!
と表示されます。
次に例題2でAnimalというクラスを継承させていきます。
クラスの継承とは、例題のようにAnimalといったクラスがすでに定義されていて
そのAnimalなどおクラスをベースにして
新たなクラスへと引き継いでいくことをいいます。
それでは例題2をやっていきましょう。
#例題2 クラスの継承 class Cat(Animal) :#継承後のクラス(継承前のクラス) nakigoe = '苦情がきていますよ' def urusai(self): print('近隣住民から' + self.nakigoe + '。') cat = Cat() print(cat.dog) cat.hoeru() print(cat.nakigoe) cat.urusai()
例題2について解説していきます。
class Cat(Animal) :#継承後のクラス(継承前のクラス)
Cat(Animal)となっていますね。
これはCatは継承後のクラスです。
()内のAnimalは例題1で使用した元のクラスです。
ここでクラスの継承が行われたことがわかります。
そして
class Cat(Animal) :#継承後のクラス(継承前のクラス) nakigoe = '苦情がきていますよ' def urusai(self): print('近隣住民から' + self.nakigoe + '。')
継承した新しいCatクラスには
nakigoeというクラス変数とurusaiというメソッドが
追加されています。
urusaiというメソッドは
『近隣住民から苦情がきていますよ。』という文章が
表示されるようにします。
近隣住民から' + self.nakigoe + '。'
は文字列の結合です。
こちらの記事で詳しく解説しています。
⇒【Python】文字列を結合・抽出したり繰り返したりする方法
それから
cat = Cat()
Catというインスタンスを生成し
catという変数に代入しています。
変数の代入についてはこちらの記事で詳しく解説しています。
⇒【Python入門】変数の代入についてわかりやすく解説
次に
print(cat.dog) cat.hoeru()
継承元の変数であるdogを表示させ
継承前のメソッド(hoeru)を呼び出します。
それから
print(cat.nakigoe) cat.urusai()
新しく追加したクラス変数(nakigoe)と
新しく追加したメソッドを呼び出します。
実行すると
shibainu
wanwan!
苦情がきていますよ
近隣住民から苦情がきていますよ。
と表示されます。
こんな感じで継承前の文字列
shibainu、wanwan!が表示され
新たな文字列(苦情がきていますよ
近隣住民から苦情がきていますよ。)も表示されました。
【Python入門】クラス継承の特徴
例題2でわかっていただけたと思います。
クラスの継承を行うことで、元のクラスから
いろんなクラスをどんどんと作っていくことができるんです。
クラスの継承を行うことで
既存のクラスを、もっと使いやすいものに
作りかえていくことができます。
それから、クラスの継承を行っても
元のクラスで使った変数やメソッドを
そのまま使うことができます。
新しくクラスやメソッドを作ることもできるんです。
以上でクラスの継承についての解説を終わります。
pythonを学ぶならこちらの動画講座がおすすめです
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
かなり長い講座名ですね。
わかりにくそうな感じがします。ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。
また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。値段は時期によって違います。
詳しくはこちらをご覧ください。
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。
単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。
Pythonで機械学習:scikit-learnで学ぶ識別入門
この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。でもそんなことはありません。
すごくわかりやすいです。pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。詳しくはこちらをご覧ください。