Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのドット(.)とは?属性やメソッドへのアクセス方法をわかりやすく解説

Pythonにおける「ドット(.)」の基本

Pythonでは、ほぼすべての要素がオブジェクトとして扱われます。そして、すべてのオブジェクトには、それぞれ固有の属性(アトリビュート)メソッドが備わっています。オブジェクトと、それらの属性やメソッドとをつなぐ役割を果たすのが、「ドット(.)」という記号です。

具体例:Dogクラスを使って理解しよう

例えば、「Dog(犬)」というクラスがあるとします。このとき、Fidoという名前の犬は、Dogクラスのインスタンス(オブジェクト)に相当します。

class Dog:
    pass

Fido = Dog()

このクラスに eats()(食べる)、runs()(走る)、sleeps()(眠る)といったメソッドが定義されている場合、ドット記法を使って次のように呼び出すことができます。

Fido.eats()
Fido.runs()
Fido.sleeps()

また、属性へのアクセスも同様にドットを使います。

Fido.size = "tall"
Fido.hair_color = "brown"

これは「Fidoの体のサイズはtall(高い)、毛の色はbrown(茶色)である」という情報を、Fidoオブジェクトに設定していることを意味します。

ドット記法でできること

ドット記法を活用することで、次のような操作が可能になります。

  • クラスが持つ属性、メソッド、インスタンスへのアクセス
  • クラスから生成したインスタンスが持つ属性やメソッドへのアクセス
  • インスタンスへの新しい属性の追加・代入

注意点:メソッド呼び出しには括弧が必要

メソッドを実際に実行したい場合は、eats() のように必ず括弧 () を付ける必要があります。括弧を付けずに Fido.eats と書いた場合、メソッドそのもの(関数オブジェクト)を参照するだけで、処理は実行されません。初心者がよくつまずくポイントなので、覚えておきましょう。

  1. Pythonでドット演算子を使ってクラス属性へアクセスする方法

    Pythonでは、クラス属性(class attribute)とインスタンス属性(instance attribute)を明確に区別することが重要です。クラス属性とは、クラスの各インスタンスではなく、クラスそのものに属する属性のことです。一方、インスタンス属性は、生成された各オブジェクトがそれぞれ独立して保持する値になります。クラス属性とインスタンス属性の例以下のコードでは、class_var がクラス属性、i_var がインスタンス属性です。すべてのインスタンスは class_var にアクセスでき、さらにクラス自体の属性としても参照できます。class MyClass(object):

  2. Pythonの関数属性とは?getattr・setattrを使った属性の設定と取得方法を解説

    Pythonでは「すべてがオブジェクト」という設計思想のもと、ほぼすべてのデータに属性やメソッドが備わっています。実は関数もオブジェクトであり、他のオブジェクトと同じように属性(アトリビュート)を持つことができます。すべての関数には、組み込み属性として __doc__ が用意されています。これは関数のソースコード内に定義されたドキュメント文字列(docstring)を返す属性です。さらに、Pythonでは既存の属性を参照するだけでなく、関数に対して新しい属性を自由に追加し、後からその値を取得することも可能です。属性を操作するための組み込み関数:getattr と setattr属性の扱いには、