スクリプトを書く機会が増えてきました。最近は世の中的にも、様々な言語やライブラリを適材適所で採用し、組み合わせてシステムを構成することも多いと思います。使い始めるために知っていると良さそうな事を記載します。ベテランの皆様による補足やツッコミをお待ちしております。本記事は次の環境で動作確認をしています。学術系のパッケージが豊富なので機械学習やデータサイエンスの分野で使われることが多い。書いたりすることも多い。名前の由来は『空飛ぶモンティ・パイソン』らしい。台本を読んでいました。呼ぶことにしたのです。『空飛ぶモンティ・パイソン』を好きでなくてはいけませんか?いいえ。好きになってくれるといいな。ある質問に詳細に記載されている。良いことが書いてあるので一読する価値があります。ように、様々な実装がある。CPythonこれは最も保守されている初代のPython実装で、C言語で書かれています。ほとんどの場合、言語の新機能がいち早く実装されます。JythonJavaで実装されたPythonです。この実装はJavaアプリケーションのためのスクリプト言語として、もしくはJavaクラスライブラリを使ったアプリケーションを作成するために使用することができます。Javaライブラリのテストを作成するためにもしばしば使用されています。PyPy完全にPythonで書かれたPythonの実装です。コンパイラなどの高度な機能をサポートしています。このプロジェクトの一つの目的は、(Pythonで書かれていることによって、)インタプリタを簡単に修正できるようにして、言語自体での実験を後押しすることです。変換してから、それを仮想マシン上で実行する。ある処理系も存在する)ため、実行時に逐一機械語に変換している。動的型付けのため、最適化がやりにくい。これらの理由から、遅い処理系と言われている。詳細は次が参考になる。アドホックな変換/解析処理ならば、そこまで問題にならないとは思う。使われ方や重視してるポイントが違うから性能特性も違う。重要視する価値観がまとめられている。Python)が解説付きで分かりやすい。書くなら一度は読んだ方がいいと思います。対話モード対話型のインタプリタがある。worldまたファイルに保存しても実行できる。動くコード片をファイルに貼っていくことが多い。オフサイドルール{}ではなく、インデントでコードブロックを表す。Trueこれによって、常にインデントが強制される。誰が書いたコードでもある程度は同じ見た目になるので、実利的だなと思う。FAQを参照してください。動的型付けのため、型宣言はしない。いうかブロックスコープがない。print(i)9スコープは次のようになっていて、最小単位は関数内。下に行くほど広いスコープになる。scope(組み込み関数など)同名変数があった場合は狭いスコープが優先される。nonlocalやglobalキーワードで、優先するスコープを変更できる。Pythonのスコープについてが詳しい。フォーマット済み文字列リテラル。2文字の幅も簡単に指定できる。|複数行の文字列(ドキュメンテーション文字列)もサポートしている。line掛け算もできる。'リストリストもめちゃくちゃリッチ。[]でリストを利用できる。2.0]末尾の,はついていても良い。この仕様のおかげで、値をプログラムで生成したときも楽に扱えるし、複数行で書いてるときに並べ替えもしやすい。3]様々な添え字アクセス[start:end:step]をサポートしている。5]リストも足し算や掛け算ができる。元リストを壊さずに要素を変更したいときは、次のようにしてコピーするテクニックがある。