Pythonでclass(クラス)を使う方法【初心者向け】

初心者向けにPythonでclass(クラス)を扱う方法について解説しています。classはプログラミング全般に必要な知識ですが、習得難易度が高いと感じる人も多くいます。見慣れない処理が多いかもしれませんが、簡単なプログラムを書いて理解しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、Pythonでclass(クラス)を使う方法を解説します。

classはプログラミング全般で使う技術ですが、習得ハードルが高いと感じる人も多いでしょう。いきなり難しいことは行わず簡単なプログラムを扱うところから始めると概念を理解できるはずです。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

Pythonのclassとは

classとは新しいデータの型を作る際の設計図です。

classを作るメリットとして、よく使う処理をclassで予め作成しておくことで、同じコードを何度も書く必要がなくなります。

これは、DRY(Don’t Repeat Your Self)原則と呼ばれ、日本語で繰り返し同じ処理を書くことを避けるという原則にも通じる考えです。

 

Pythonのclassの書き方

class クラス名:
  処理コード

1行目ではclass クラス名:でclassを宣言します。

class名はCapWords形式で宣言します。

CapWords形式とは、最初の1文字は大文字で、その後はキャメルケースを使用します。キャメルケースとは、アルファベットで複合の単語を組み合わせた命名を行い場合に、各単語の先頭の文字を大文字で表記します。例えば、onlieprogrammingschoolであれば、OnlineProgrammingSchoolと記載します。


 

[PR] Pythonで挫折しない学習方法を動画で公開中

Pythonのclassを実際に書いてみよう

今回は、Pythonで福引を行うclassを書いてみます。

 

福引するclassを使用したプログラムソースコード

import random
class Fukubiki:
  def garagara(self):
    return random.randint(1,10)

atare = Fukubiki()
print (atare.garagara())

 

表示結果例

2

1行目のimport randomでは、randomというランダムに数字を生成する際に使用するモジュールをimportしています。

2行目のclass Fukubiki:では、Fukubikiというclassを宣言しています。

3行目のdef garagara(self):では、garagaraというメソッド名を指定しています。

メソッドは1つ以上の引数を指定します。そして、最初の引数は、self指定する決まりです。

4行目のreturn random.randint(1,10)では、garagaraメソッドが呼ばれた場合に、random.randint(1,10)で指定された1から10までの数字がランダムに返されます(return)。

5行目のatare = Fukubiki( )では、Fukubiki classをインスタンス化しています。

インスタンス化とは、設計図であるclassから実際の福引をガラガラするという実態(インスタンス)を作り出す処理です。インスタンス化された内容はatariオブジェクトに代入されます。オブジェクトはインスタンス化された物です。

6行目のprint (atari.garagara( ))では、atari.garagara( )でatariオブジェクトにあるgaragara( )メソッドを呼び出しています。

今回は、4行目の処理でランダムの数字が返されているので、print文を使用して表示しています。

今回の表示結果例は2ですが、表示結果は1から10までのランダムな数字なので、表示結果が2となるのは一定ではありません。

 

今回は、Pythonでclassを使う方法を解説しました。

入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。

 

また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

独学に限界を感じている方はぜひご覧ください。