Pythonのclassにおけるobjectについて現役エンジニアが解説【初心者向け】

初心者向けにPythonのclassにおけるobjectについて解説しています。ここではクラスという設計図からオブジェクトが生成される仕組み、Pythonでの例を紹介します。Python以外の他のオブジェクト指向の言語でも必要となる知識なので基本をおさえておきましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Pythonのclassにおけるobjectについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

オブジェクト指向でプログラミングを組んでいく必要がある人はぜひ覚えておくと良いでしょう。Classを活用してobjectを生成すると高度な処理をより簡単に記述することができます。

 

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

classにおけるobjectについて詳しく説明していくね!

大石ゆかり

お願いします!

目次

 

classとは

Pythonにおけるclassについて解説します。classとは、まとまった変数や配列、それらを使った処理やメソッドから構成される「設計図」といえます。

 

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

objectとは

Pythonにおけるobjectについて解説します。objectとは、まとまった変数やそれらを使った処理やメソッドを構築するための設計図から作られます。classという設計図に書かれている変数や配列、処理やメソッドの構成に従って作られた、「部品」であるといえます。

 

classにおけるobjectの使い方

classを使ってobjectを活用する方法について説明します。Pythonにおいて標準的に使用することができるclassの一つとして、Decimal classがあります。Pythonの少数の計算を行う際にfloat型を使うと、わずかですが、誤差が出ます。

例えば、

print(0.3*3)

の計算結果は

0.8999999999999999

Decimal classを使うとこの誤差を抑制することができます。Decimal classを使ったobjectの生成は

dec_num_b = decimal.Decimal('3')

のようにして行います。Decimalへの引数は文字列とすることが注意点です。

 

classを利用してobjectを作成してみよう

それでは、実際にDecimal classを使ってobjectを作成してみましょう。

import decimal # Decimal classをインポート

dec_num_a = decimal.Decimal('0.3')

dec_num_b = decimal.Decimal('3')

calc = dec_num_a * dec_num_b

print(calc)

実行結果はこのようになります。

0.9

誤差がなく計算されたことがわかりますね。

 

まとめ

いかがでしたでしょうか。

Pythonのclassにおけるobjectについて理解できましたでしょうか。

classを利用してobjectを作成できれば、よく使う処理や複雑な処理、記述をobjectとすることで簡単にプログラムを構築でき、効率よくオブジェクト指向でソフトウェアを開発することができます。

正しく理解して活用しましょう。

 

監修してくれたメンター

メンター山崎

電機メーカー社員の組み込みハード、ソフトウェア系エンジニア。

新規製品のアプリケーション/アルゴリズムの提案や製品実装ソフトウェア実装、開発効率化スクリプトの作成などに従事する。
PythonやRuby, VBA, C言語, C++, shellスクリプト, ハードウェア記述言語(Verilog HDL)など多数の言語と日々奮闘中。

趣味は野球、ギター、スノーボード、ウェイトトレーニング、食べログ巡りなどこちらも多数奮闘中。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。