DataSpell 2025.3 ヘルプ

型ヒント

DataSpell は、スクリプト内のオブジェクトのタイプのインスペクションとチェックを支援するさまざまな手段を提供します。DataSpell は、typing モジュールと PEP 484(英語) で定義された形式を使用して、関数アノテーションと型コメントで型ヒントをサポートします。

型ヒントを追加する

DataSpell は PEP 484(英語) でサポートされている型の追加方法をすべてサポートしていますが、インテンションアクションを通じて型ヒントを使用するのが最も便利です。使用するインタープリターに応じて、型はアノテーション(Python 3)またはコメント(Python 2)として追加されます。

  1. コード要素を選択します。

  2. Alt+Enter を押します。

  3. 型ヒントを追加 ... を選択します。

  4. 適切な場合は、Enter を押してアクションを完了するか、タイプを編集します。

サンプル

インテンションアクション

アノテーションの結果コード (Python 3)

変数

example of adding a type hint for a variable
example of adding a type hint for a variable (Python 3)

関数

example of adding a type hint for a function
example of adding a type hint for a function (Python 3)

クラス属性

example of adding a type hint for a class attribute
example of adding a type hint for a class attribute (Python 3)

サンプル

インテンションアクション

コメントの結果コード (Python 2)

変数

example of adding a type hint for a variable
example of adding a type hint for a variable (Python 2)

関数

example of adding a type hint for a function
example of adding a type hint for a function (Python 2)

クラス属性

example of adding a type hint for a class attribute
example of adding a type hint for a class attribute (Python 2)

Python スタブを使用して、変数、関数、クラスフィールドの型を指定することもできます。

コメントを変換する

コメントベースの型ヒントの場合、DataSpell は、コメントベースの型ヒントを変数アノテーションに変換できるインテンションアクションを提案します。このインテンションには変数アノテーションに変換するという名前があり、次のように動作します。

from typing import List, Optional xs = [] # type: List[Optional[str]]
from typing import List, Optional xs: List[Optional[str]] = []

型ヒントを検証する

型ヒントを適用するときはいつでも、DataSpell は、サポートされている PEP に従ってタイプが正しく使用されているかどうかをチェックします。使用箇所エラーがある場合、対応する警告が表示され、推奨されるアクションが提案されます。以下は検証の例です。

検証エラー

推奨アクション

型宣言の重複。

incorrect type hint

いずれかの型宣言を削除します。

型宣言の引数の数は、関数の引数の数とは異なります。

too many arguments

引数の数を調整します。

アンパックを伴う型コメントは、対応するターゲットと一致しません。

incorrect type for unpacked variables

ターゲットフォーマットをチェックし、それに応じてタイプコメントを変更してください。

Callable パラメーターの構文が正しくありません。

Incorrect Callable format

推奨フォーマットを使用し、必要な角括弧を追加して Callable パラメーターをラップします。

代入式に予期しない型があります。

Unexpected type in an assignment expression

予想されるパターンに合うようにタイプを揃えます。

Final 変数に値を代入します。

Assigning a value to a Final variable

Final とアノテーションが付けられた変数を変更することはできません。変数の型を変更することを検討してください。

Final アノテーションが付けられたクラスを継承します。

Inheriting a final class

Final アノテーションを持つクラスを継承することはできません。別のクラスを作成することを検討してください。

@final で装飾されたメソッドのオーバーライド。

Overriding a final method

@final で装飾されたメソッドをオーバーライドすることはできません。別のメソッドを定義することを検討してください。

関数引数の型が正しくありません。

Function argument type validation

リストの代わりに辞書を foo() 関数に渡します。

TypedDict タイプのキーに間違ったタイプの値を割り当てる。

Type validation for a TypedDict class

year の値を int として指定します。

add_movie({'title': 'Blade Runner', 'year': 1982})

TypedDict タイプで間違ったキーを使用する:

Missing key, extra key error

型定義で指定されているようにキーを割り当てます。

add_movie({'title': 'Blade Runner', 'year': 1982})

装飾された関数の不適切な使用。DataSpell は、デコレーターのタイプに基づいて、装飾された関数のタイプを検証します。

Infer type of a decorated function

必要に応じて、関数 return を使用するデコレーターまたはステートメントを変更します。

# type: ignore または # noqa コメントを追加して、型検証の警告を抑制したり、欠落しているインポートステートメントを無視したりできます。

Ignore type validation

Python スタブ

DataSpell は Python スタブファイルをサポートします。

次の例では、スタブファイル (stubs.pyi) からの sample_function の型ヒントが Python ファイル (stubs.py) で使用可能になります。

スタブアナログが検出されたパッケージを使用している場合は、次のメッセージが表示されます。

The stub package inspection

スタブパッケージをインストールし、このメッセージを無視して現在インストールされているパッケージで作業を続行するか、プロジェクト設定でこの種のインスペクションを無効にすることができます。

Typeshed を使用する

Typeshed(英語) は、標準の Python ライブラリとさまざまなパッケージの型アノテーションが付いたファイルのセットです。Typeshed スタブは、型ヒントで定義された Python クラス、関数、モジュールの定義を提供します。DataSpell は、この情報を使用して、コード補完、インスペクション、その他のコードインサイト機能を向上させます。

DataSpell には Typeshed(英語) スタブがバンドルされています。使用可能な Typeshed スタブのリストは、ノード外部ライブラリ | <Python インタープリター> | Typeshed スタブのプロジェクトビューに表示されます。

バンドルされた Typeshed リポジトリを独自のバージョンでオーバーライドするには、次の手順を実行する

  1. スタブの一部またはすべてをプロジェクトのディレクトリにコピーします。

  2. ディレクトリのコンテキストメニューからディレクトリをマーク | ソースルートを選択して、ディレクトリをソースルートとしてマークします。

Python スケルトンリポジトリ https://github.com/JetBrains/python-skeletons(英語) は廃止予定です。

2025 年 10 月 21 日

関連ページ:

Python

DataSpell で Python スクリプトを開発するには:Python をダウンロードしてインストールします。少なくとも 1 つの Python インタープリターを構成します。Windows ユーザーの場合、Windows 用 Python をインストールすることをお勧めします。サポートされるバージョン:Python 2: バージョン 2.7、Python 3: バージョン 3.9 からバージョン 3.15 まで、次の機能は、Python 3.14 サポートの一部として使用できます。PEP 7...

作業環境を整える

DataSpell の Python インタープリター:DataSpell でノートブックまたは Python コードを実行するには、Python インタープリターに基づく仮想環境を少なくとも 1 つ設定する必要があります。Python インストールで利用可能なシステムインタープリターを使用できます。また、Virtualenv、pipenv、Poetry、conda 仮想環境を作成することもできます。仮想環境は、ベースインタープリターとインストールされたパッケージで構成されます。DataSpel...

Python コードインサイト

コードインサイトは、コード補完、インテンションアクション、型推論、DataSpell のコード分析に関連するその他のテクニックに使用される一般的な名前です。構文のハイライト:DataSpell エディターは、キーワード、コメント、パラメーター、その他の要素のハイライトを考慮します。class Car:

Python コードを実行する

Python ファイルを作成し、仮想環境を構成したら、コードを実行できます。Python エディターツールバーを使用すると、最も人気のあるアクションにすばやくアクセスできます。選択したセルにコードセルを追加します。選択したコードセルの現在の位置をクリップボードに移動します。選択したコードセルをクリップボードにコピーします。クリップボードの内容を、選択したコードセルの新しいコードセルに挿入します。現在のセルを上に移動します。