3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonでforやwithで使う変数の型宣言

Last updated at Posted at 2019-04-09

はじめに

最近、動的型付けの言語に型を宣言して書くスタイルが流行っているように思います。(説明が雑ですが)
Pythonも例に漏れず、その流れを汲んでいます。allennlpとか、fastapiとか綺麗にtypeを書いてくれてるので参考になります。

個人的には、APIの型をちゃんと書いてくれてると、OSSのソースコードとかも読みやすいし、チームで開発する際にも良いことがたくさんあると思っています。「動的な言語は、型がないからいいんじゃん!」っていう方もいると思いますが...

導入自体は難しくないので、Pythonの公式やmypyなどを確認してみると良いです!
TypeHint: https://docs.python.org/ja/3/library/typing.html
Mypy: http://mypy-lang.org/

for

さて、静的型付けの言語、特にCとかだとforで新しい変数を宣言するときに、以下のように書くことがあると思います。

for (int i = 0; i < 10; i++) {
    hoge
};

これをPythonで書くと、

i: int 
for i in range(10):
    hoge 

これだけ。

with

from typing import IO
from pathlib import Path

fp = Path('file_path')

f: IO
with fp.open('r') as f:
    pass

らしいです。
ちなみに、for, with以外では許されていない記法らしいです。

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?