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

Pythonの「..(ドットドット)」表記とは?実は特殊な構文ではない理由を解説

Pythonには、..(ドットドット)と呼ばれる特別な演算子や表記構文は存在しません。しかし、浮動小数点数(float)がプロパティやメソッドにアクセスする場面で、あたかも..のような記述を見かけることがあります。

「..」に見えるコードの例

以下のコードを見てみましょう。

f = 1..__truediv__  # Python 2 の場合は 1..__div__
print(f(8))

このコードを実行すると、次の出力が得られます。

0.125

なぜ「..」のように見えるのか

一見すると不思議に思えますが、これは特殊な構文ではありません。仕組みは以下の通りです。

  • 最初のドット:floatリテラルの一部です。1.は末尾のゼロを省略した1.0と同じ意味を持ちます。
  • 2番目のドット:通常の属性アクセス用のドット演算子です。オブジェクトのメソッドやプロパティにアクセスするために使われます。

つまり、1..__truediv__は「1.というfloat値に対して、__truediv__メソッド(除算を行う特殊メソッド)を取得している」ということになります。

同じ意味になる別の書き方

この動作は、以下のように書き換えることでより明確になります。

>>> f = 1.
>>> f
1.0
>>> f.__truediv__

1.と書いてもPythonはそれを1.0として解釈するため、結果的に先ほどの例とまったく同じ処理になります。

まとめ

Pythonにおける..のような表記は、単なる「floatリテラル+属性アクセス」の組み合わせであり、独自の演算子や特殊な構文ではありません。この挙動を理解しておくと、一見謎に見えるコードを読み解く際に役立ちます。

  1. Pythonのosモジュール入門:ディレクトリ操作とファイル操作の基本をマスターしよう

    はじめにPythonのosモジュールは、開発者が実行中のオペレーティングシステム(OS)とやり取りするためのさまざまな関数を提供する標準ライブラリです。この記事では、その中でも特によく使われる以下の操作について解説します。ディレクトリ(フォルダ)の作成・削除ディレクトリ名の変更ファイル操作の基本それでは、早速始めていきましょう。準備:モジュールのインポートosモジュールはPythonのインストール時に同梱されているため、PIPなどで別途インストールする必要はありません。各種メソッドや関数を使うには、モジュールをインポートするだけです。import osこれで、osモジュールが提供するさまざまな

  2. PythonのCGIとは?仕組みとサーバー設定方法をわかりやすく解説

    CGI(Common Gateway Interface:共通ゲートウェイインターフェース)は、HTTPサーバーなどの情報サーバーと外部のゲートウェイプログラムがやり取りするための標準規格です。現在のバージョンはCGI/1.1であり、CGI/1.2が策定中です。Webブラウジングの流れCGIの概念を理解するために、ハイパーリンクをクリックして特定のWebページやURLを閲覧するときに何が起こるのかを見てみましょう。ブラウザがHTTP Webサーバーに接続し、URL(つまりファイル名)を要求します。WebサーバーはURLを解析してファイル名を探します。該当するファイルが見つかればそれをブラウザへ