Visual Studio Code で活かすPythonの型ヒント
1.はじめに
C# を使用してアプリケーションを作成してきた自分にとって、動的型付け言語である Python でのコーディングは逆に難しさを感じていました。
関数等を使用する際にどの型の変数をいれるべきかといった点や、間違っているときに実行してエラーが出るまで気づきにくいといった点です。
ただ Python 3.5で導入された型ヒントを使用するとかなり自分の感じていた不便な点を解消できるので、Visual Studio Code でどのように活かせるかも含め共有したいと思います。
最近の型は変数の後ろに書く傾向があるなと感じています。
2.型ヒント
1.バージョンに注意
型ヒントはPythonのバージョンによって、typing から import するかしないか等変わってきます。例えば以下の typing から import される型は非推奨になっています。
しばらく使えますが廃止になったら、最新のバージョンに合わせるか、実行には問題無いので型ヒントのエラー部分を削除するのも現実的な対応だと思います。
from typing import Dict, List, Tuple
2.一般的な型
以下の型がとりあえず良く使用される型だと思います。
(Python 3.11 で確認済)
s: str=""
i: int=1
f: float=1.5
b: bool=True
by: bytes=b'\x04\x00'
l: list[str]=["a","b"]
t: tuple[str, int, str]=("a",2,"b")
set: set[int]={3,4}
d: dict[str, int]={"apple":100,"oramge":10}
3.関数定義
戻り値あり
def func1(i: int, f: float) -> float:
戻り値なし
def func1(i: int, f: float) -> None:
4.ユーザー定義クラス
ユーザー定義のクラスと型の書き方は以下の通りです。
#クラス定義
class Character:
#クラスを使用
c: Character=Character()
5.特殊な型
Union型:どれかの型に該当するという型
item: int|str
Optional型:None が入るかもしれない型
item: int|None
3.Visual Studio Code を使用した型ヒントの活かし方
環境
-Windows 10
-Python 3.11.5
-Visual Studio Code 導入済(以下VSCode)
1.Python 拡張機能の導入
拡張機能のアイコンを押して、「Python」で検索します。
![](https://assets.st-note.com/img/1696486112688-gY6sihZBev.png?width=1200)
2.Python 環境の構築
フォルダを作成してVSCodeで開きます。
コマンドパレットを開き(Ctrl + Shift + P)、Python で検索し、
「Python:Create Environment」で環境を作成します。
その後以下の選択肢を選ぶと環境構築が始まります。
1)Select an environment type:(例)Venv
2)Enter interpreter path:(例)Python 3.11
3.Python ファイルの作成と実行
python ファイルを作成し、ターミナルを開くと環境ごとの Python が起動します。(この状態でターミナルを開くと環境作成したフォルダを開きます)
(.venv) が先頭についていない場合は、以下のコマンドで環境ごとのPythonが起動します。
-実行コマンド
>.venv\Scripts\activate.ps1
-Python ファイルの実行
(.venv)xxxx>python hello.py
-終了する場合のコマンド
(.venv)xxxx>deactivate
4.リンターの設定(mypy)
型ヒントの有効化については現在は以下の記事を参考にしてください(2024年5月)
コマンドパレットを開き、「Python:Select Linter」で mypy を選択します。
mypy が無い場合は以下のようにインストールを促されますのでインストールのボタンを押してください。「pip install 」が実行されます。
![](https://assets.st-note.com/img/1696487634383-TBv9nr3DlY.jpg?width=1200)
ちなみに型チェックはファイル保存時に起動するので、最初はエラーが出てなくても保存すると出力されます。
以下の例では戻り値を int としていますが、float を返しているのでエラーが出力されています。
![](https://assets.st-note.com/img/1696487988456-7CIzfUfoP3.jpg?width=1200)
5.おまけ(Debug について)
Debugのアイコンを押して、「Create a launch.json file」をクリックします。
![](https://assets.st-note.com/img/1696498030345-ZAkqNYxaRr.png?width=1200)
その後以下の項目を選択すればDebug用の設定ファイルが生成します。
-Debug Configuration:(例)Python File
ボタンを押せばデバックが実行されます。
![](https://assets.st-note.com/img/1696498365826-gqs0aYz14M.png?width=1200)
6.おまけ2(Test について)
Testのアイコンを押して、「Configure Python Tests」をクリックします。
その後出力される項目に回答するとTest用の設定ファイルが生成されます。
-Select a test framework:(例)unittest
-Select the directory:(例)test
-Select the pattern:(例)test*
![](https://assets.st-note.com/img/1696499333956-joqAjxdNzU.png?width=1200)
そうすると以下の画面が開きテストを実行することができます。
読み込みが上手くいかないときがあるので、コマンドパレットを開き、「Developer:Reload Window」で再度読み込んでみてください。
![](https://assets.st-note.com/img/1696499671981-1aJkKhEagW.png?width=1200)