2017-01-19 12 views
5

Pythonでは、 "i"は.pyi拡張子で何を表していますか?"i"はPythonの.pyi拡張で何を表していますか?

PEP-484には、.pyiは「スタブファイル」ですが、拡張子にニーモニックヘルプはありません。 "i"は "Include"を意味しますか? "実装"? "インタフェース"?

+0

[this](https://www.filesuffix.com/en/extension/pyi)によると、 'pyi'拡張子はCognosモデルファイルに使用されています。 Python Script Compiledという異なる拡張子を持つ 'pyc'ファイルを探しているかもしれません。チェックサムを実際の 'pyc'ファイルと比較し、少なくともバイナリファイルであることを確認してください。 –

+0

Pythonパッケージのドキュメントによると、[PYthon情報] [1] [1]:https://pypi.python.org/pypi/pyi/0.1.0 – NationWidePants

+0

@NationWidePants違う 'pyi'。 –

答えて

1

私は「インタフェース」Javaのインタフェースのための

定義のためのi.pyiに立っていると思う:Javaプログラミング言語のインタフェースは が動作を指定するために使用されていることを抽象型である

をクラスが実装する必要があるクラス

  • 投稿者python typeshed GitHubのリポジトリ:

各Pythonモジュールを.pyi "スタブ" で表されます。これは普通の のすべてのメソッドが空であることを除いて、のPythonファイル(つまり、Python 3で解釈可能)です。 'Mypy'リポジトリに

  • 、彼らは明示的にパブリック・インタフェースとして「スタブ」ファイルを言及:

スタブファイルのみどのなし のパブリックインターフェイスの説明モジュールが含まれています実装。

"インターフェイス"はPythonには存在しません(このSO question between Abstract class and Interfaceを参照)ので、私はデザイナーが特別な拡張を意図していたと思います。

pyiスタブ「スタブ」ファイル(Martin Flowersから定義)

を実装:通常 は のためにプログラミングされているものの外に何にもまったく応答していない、テスト中に行われた呼び出しに缶詰答えを提供テスト。

しかし、人々は、したがって、不必要な混乱を避けるために.pyiではなく.pysを選択する方が簡単だった、「スタブ」ファイル以外のインターフェイスに精通しています。

関連する問題