差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
python:introduction [2020/03/08 15:29] – [zipとenumerate] watalu | python:introduction [2020/03/08 17:08] (現在) – [Python 3を使いましょう] watalu | ||
---|---|---|---|
行 3: | 行 3: | ||
=== Pythonはインタプリタ === | === Pythonはインタプリタ === | ||
- | 次の5行は、Pythonで書いたHello World!です。 | + | 次の5行は、Pythonで書いたHello, World!です。 |
< | < | ||
def main(): | def main(): | ||
- | print(" | + | print(" |
if __name__ == " | if __name__ == " | ||
行 22: | 行 22: | ||
Python言語で書かれたプログラムの実行には必ず、pythonというコマンドを介する必要があります。これはPython言語のインタプリタ(処理系)です。 | Python言語で書かれたプログラムの実行には必ず、pythonというコマンドを介する必要があります。これはPython言語のインタプリタ(処理系)です。 | ||
+ | === Python 3を使いましょう === | ||
+ | |||
+ | Python言語は大きく4世代に分類できます。 | ||
+ | |||
+ | * バージョン0: | ||
+ | * バージョン1: | ||
+ | * バージョン2: | ||
+ | * バージョン3: | ||
+ | |||
+ | バージョン2の開発中に様々な拡張が行われたようです。そして[[https:// | ||
+ | |||
+ | そのため、Python言語は2種類ある、と言えます。 | ||
+ | |||
+ | バージョン2のために書かれた多くのライブラリやソースコードは、バージョン3では動きません。しかし、多くのユーザはバージョン2を使い続け、教科書や教育内容、また多くのモジュールやパッケージもバージョン2を支持し続けつつ、バージョン3の開発も進めてきました。開発リソースの分割が原因で、バージョン3への移行はかなり遅れたようにも思います。 | ||
+ | |||
+ | * NumPyは[[https:// | ||
+ | * TensorFlowは2017年2月に公開されたバージョン1、2019年9月に公開されたバージョン2、いずれもPython 2をサポートしています。 | ||
+ | * Scikit-learnは2019年3月まで開発が続いたバージョン0.20までPython 2.7と3.4をサポートしていましたが、2019年5月に公開されたバージョン0.21以降はPython 3.5以降のみをサポートしています。 | ||
+ | * Anacondaは今でも、Python 2と3それぞれのディストリビューションを提供しています。 | ||
+ | |||
+ | データサイエンスや機械学習を目的にPythonを新たに学ぶ人は、2020年以降はPython 2を学ぶ必要はなく、Python 3を学ぶのが良さそうです。テキストもPython 3に対応したものだけを探して大丈夫です。手に取った本がどちらのバージョンに対応しているかは、Python 2と3とでprint文が異なるので、すぐにわかるはずです。 | ||
+ | |||
+ | < | ||
+ | # Python 2のprint文 | ||
+ | print " | ||
+ | # Python 3のprint文 | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | そう、昔はprintは文で、関数ではなかったのです。 | ||
=== Python本体と標準ライブラリとサードパーティライブラリ === | === Python本体と標準ライブラリとサードパーティライブラリ === | ||
行 90: | 行 120: | ||
dict | dict | ||
</ | </ | ||
- | |||
== 配列 == | == 配列 == | ||
行 100: | 行 129: | ||
タプルは更新不可能な配列です。 | タプルは更新不可能な配列です。 | ||
辞書はPerlの連想配列と似ていますが、数値と文字列を区別するキーを持ちます。 | 辞書はPerlの連想配列と似ていますが、数値と文字列を区別するキーを持ちます。 | ||
+ | |||
+ | == スライシング == | ||
+ | |||
+ | |||
== 条件分岐 == | == 条件分岐 == | ||
行 213: | 行 246: | ||
</ | </ | ||
+ | == ジェネレータ式 == | ||
+ | |||
+ | |||
+ | == ラムダ式 == | ||
=== 標準ライブラリの例 === | === 標準ライブラリの例 === |