MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. 【Python】class(クラス)の動作と書き方

【Python】class(クラス)の動作と書き方

2019 12/20
Python
2019年12月20日

Pythonはプログラミングの中でも見やすく、書きやすいと言われています。
しかし、いくら他のプログラムよりも使いやすいと言っても、多くのプログラムを書いていくと複雑になっていきます。

このようになると、効率よくプログラムを作成していく機能が必要となります。

「クラス」は本格的なプログラムを作成する際に使用され、効率よくコードを作成していくための仕組みとなります。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

「クラス」の基本動作

プログラムが複雑になるにつれて、効率よくプログラムを作成する上で必要となる機能が「クラス(class)」です。
クラスは効率よくプログラムを作成していくための仕組みであり、「データ」と「処理」をまとめる仕組みとなっています。

class(クラス)の書き方

クラスは変数や関数などをまとめて記述します。
これを「クラスの定義」と言います。

ベースとなる書き方は以下となります。

class クラス名:

    def メソッド名(self, 引数リスト):
        self.変数 = ...
        ...
        return 式
  • class クラス名: → クラスを定義
  • def メソッド名 → 処理を表す関数(メソッド)
  • self.変数 → データを表す変数(データ属性)

pythonではデータ属性とメソッドをまとめて、「属性」と呼びます。

以下では2つのデータ属性を用意し、メソッドを定義しています。

class Person:

    def getname(self):
        return self.name

    def getage(self):
        return self.age

上記では2つのデータ属性作成しています。

  • 人の名前のデータ属性「name」
  • 年齢のデータ属性「age」

さらに2つのメソッドを定義しています。

  • 名前を調べる「getname()メソッド」
  • 年齢を調べる「getage()メソッド」

クラスにはデータ属性とメソッドを記述することを覚えておきましょう。

インスタンスの作成

上記でクラスの定義は完了したので、このクラスを利用するには「インスタンスを作成する」処理を実施します。

インスタンスは「クラス名()」と言う指定で作成し、インスタンスを表す変数(インスタンス名)に代入します。

インスタンス名 = クラス名()

この書き方により、以下のようにインスタンスの作成します。

pr = Person()

「py」はインスタンス名となります。
これにより、変数「pr」がpersonクラスのインスタンスを表すことになります。
このインスタンスによりPersonクラスのデータ属性、メソッドを利用できるようになります。

データ属性・メソッドを利用する

インスタンスを設定したら、クラスからデータ属性、メソッドを利用します。
これらを利用するには「.(ピリオド)」を使用します。

属性を利用する書き方

インスタンス名.データ属性名
インスタンス名.メソッド名(引数リスト)

今回のPersonクラスで、以下のコードで、インスタンスのデータ属性に値を代入し、メソッドを呼び出します。

pr.name = '小林'
......
pr.getname()

この書き方により、Personデータ属性である「name」に名前を代入したり、getname()メソッドを使って名前を調べたりすることができるようになります。
以下では、クラスの定義からインスタンスの作成の一連のプログラムを書いています。

クラスを利用したプログラム

class Person:
    def getname(self):
        return self.name

    def getage(self):
        return self.age

pr = Person()
pr.name = '小林'
pr.age = 18

name = pr.getname()
age = pr.getage()

print(name,'さんは', age, '歳です。')

実行結果

$ python3 class00.py 
小林 さんは 18 歳です。

上記のようにプログラムから一人の人の情報が出力されました。
クラスからインスタンスを作成することで、まとめた情報を扱うことができます。

クラスは以下のような流れになるので頭に入れておきましょう。

  1. クラスを定義
  2. インスタンスを作成
  3. データ属性・メソッドを利用

複雑になってきますが、定義を覚えれば色々と活用ができます。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Python
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次