モジュールやパッケージを取り込めます。
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
fromを使用して取り込むことで、関数や変数をパッケージ名やモジュール名を省略して参照できます。6.4. パッケージ - 6. モジュール — Python 3.x ドキュメント
たとえばimport package.module
として取り込むだけだと、そこで定義されている関数はpackage.module.func()
のように呼ぶ必要がありますが、from package import module
とするとmodule.func()
のように呼べます。
「(most likely due to a circular import)」としてインポートに失敗するならば、このcircular importが発生していないか確認します。たとえばファイル名がfoo.pyのときにfrom foo import attr
とすると、このエラーが発生します。
「ModuleNotFoundError: No module named '***'」としてモジュールを見つけられないならば、
pip list
として、そのモジュールを含むパッケージがインストールされているか確認します。
VS Codeで「インポート "***" を解決できませんでした Pylance(reportMissingImports) (Import "***" could not be resolved Pylance(reportMissingImports))」としてモジュールを見つけられないならば、[Preferences: Open User Settings]の[python.analysis.extraPaths]にそのモジュールのパスを追加します。 python - Visual Studio Code Pylance (report Missing Imports ) - Stack Overflow Python Language Server settings - Python settings reference
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 documentationx = 1 if x < 0: print("negative") elif x == 0: print("zero") else: print("positive")
4.1. if 文 - 4. その他の制御フローツール — Python x ドキュメント
if_stmt ::= "if" assignment_expression ":" suite ("elif" assignment_expression ":" suite)* ["else" ":" suite]8.1. The if statement - 8. Compound statements — Python 3.x documentation
Cなどのswitchに相当します。4.7. match 文 - 4. その他の制御フローツール — Python 3.x ドキュメント
8.2. while 文 - 8. 複合文 (compound statement) — Python 3.x ドキュメント
C++のようなdo-whileはないため、while Trueでループさせ、条件に一致したときにbreakでループを抜けさせます。
while True: statement if expression: breakpython - How to emulate a do-while loop? - Stack Overflow
たとえば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 ドキュメント例外を処理します。8.4. try 文 - 8. 複合文 (compound statement) — Python 3.x ドキュメント
try…except…finallyのパターンを簡潔に記述できます。8.5. The with statement - 8. Compound statements — Python 3.x documentation
何もしません。構文上、何かを記述する必要があるが、何も処理がないときに用います。4.6. pass 文 - 4. その他の制御フローツール — Python 3.x ドキュメント