モジュールやパッケージを取り込めます。
import foo # foo imported and bound locally import foo.bar.baz # foo, foo.bar, and foo.bar.baz imported, foo bound locally import foo.bar.baz as fbb # foo, foo.bar, and foo.bar.baz imported, foo.bar.baz bound as fbb from foo.bar import baz # foo, foo.bar, and foo.bar.baz imported, foo.bar.baz bound as baz from foo import attr # foo imported and foo.attr bound as attr7.11. The import statement - 7. Simple statements — Python 3.x documentation
「(most likely due to a circular import)」としてインポートに失敗するならば、このcircular import (循環インポート) が発生していないか確認します。たとえばファイル名がfoo.pyのときにfrom foo import attr
とすると、このエラーが発生します。
「ModuleNotFoundError: No module named '***'」としてモジュールを見つけられないならば、
pip list
として、そのモジュールを含むパッケージがインストールされているか確認します。
fromを使用して取り込むことで、関数や変数をパッケージ名やモジュール名を省略して参照できます。6.4. パッケージ - 6. モジュール — Python 3.x ドキュメント
たとえばimport package.module
として取り込むだけだと、そこで定義されている関数はpackage.module.func()
のように呼ぶ必要がありますが、from package import module
とするとmodule.func()
のように呼べます。
assert expression1, expression2
とすることは、
if __debug__: if not expression1: raise AssertionError(expression2)
と等しく、最適化が要求されていないときにexpression1がFalseと評価されたときにAssertionError例外が投げられ、expression2と説明されます。
7.3. The assert statement - 7. Simple statements — Python 3.x documentationif_stmt ::= "if" assignment_expression ":" suite ("elif" assignment_expression ":" suite)* ["else" ":" suite]8.1. The if statement - 8. Compound statements — Python 3.x documentation
たとえば10回くり返すならば、次のようにします。
for i in range(10): print(i)
こうすると0、1、… 9と順に出力されます。
8.3. The for statement - 8. Compound statements — Python 3.x documentation 4.2. for 文 - 4. その他の制御フローツール — Python 3.x ドキュメントtry…except…finallyのパターンを簡潔に記述できます。8.5. The with statement - 8. Compound statements — Python 3.x documentation