Pythonは、2019年時点で 誕生からすでに30年経過しているとのこと。
意外、最近開発された言語だと思ってました。
1990年頃から存在した言語だったんだ。
1.1 プログラミング言語としての特徴
・インデントが特徴的
(確かに印象的、最初見たとき }閉じがないのがスースーして落ち着かなかったっす、今でも落ち着かないっす。下着つけずにスカート履いてるような感触)
・動的型付言語
( javascriptでなれてまーす)
・可読性が高い
(そうかなー、関数を下に書いたりしなきゃならない感じで直感的なコーディングが難しそう)
・データ分析や機械学習でよく使われる
(それです! 機械学習のライブラリ使用したいがために、今学ぼうとしてます!)
・2系と3系で混乱
(確かに、最初2系を触ったため、Windows環境で日本語文字列が文字化けしまくりで、相当困惑しました u”表記など難しすぎ、久しぶりに3系をインストールして使ってみたら、日本語はutf-8で問題なく表示される u”等不要、かなりwindowsで使いやすくなってると感動中っす!)
・実行速度が遅い
(使い込んでないので実感ない、むしろ 機械学習でGPU活用に期待180%ぐらいしております!)
以下、気になったポイントをメモメモしていきます。
・Pythonの関数宣言に型指定はないけれど、型自体はあるから、数値をうけとって処理する関数に、文字列を引数に指定すると実行時エラーが発生するよー。
OK!
・括弧閉じのかわりにインデントで表現する。一般的に半角スペース4つを使うことが多い。
OK!
・Pythonがブロックを{}を使わずに、インデントであらわすのは、プログラミング言語ABCの方式を踏襲したもの。
ほぅ、プログラミング言語ABCとな。
・後方互換性をとっても重視している言語
すばらしい!
できる限り、昔バージョンで組んだソースコードが動き続けるよう配慮してくれているそうな。
(ただし、PEP 5 — Guidelines for Language Evolution というルールで後方互換性を無視することもできる)
ふむふむ。
・後方互換性がない改造の場合も、1年以上の移行期間を設ける。
なんて心優しいんだ。PHPで苦労した経験者としては、Pythonの昔のソースコードを大切にする考え方は神様に見えます。
・標準ライブラリが豊富!
とな? 他の言語環境と比べて豊富、かどうかは使ってみて実感いたしましょう。 期待させていただきます。
「Batteries Included バッテリー同梱」というポリシーとのこと!
バッテリーつけて配れってことね。
ありがたい。 javaのように必要ライブラリを自分でリンクしてコンパイルしなくてもよいのですね。
例としてファイルフォーマットにあわせた読み込み機能がPythonにははじめからついてるとのこと。
json
csv
zipfile
sqlite3
configparser
pickle
jsonやcsvは、PHPや javascriptでは、自作関数つくって使いまわしてきましたから、もとからpythonにあるなら便利っちゃ便利。
sqlite3は、DBアクセスのライブラリかな? これはどの言語にもあるよね?
configparserは、iniファイルの読み書き、たしかに便利。
pickleは、たしかpythonの変数を外部ファイルに書き出して、読み込んでつかえるっていう機能でしたっけ? データベースを使わない時、
すなわち、データ解析をつなげていくとき、Unixでパイプで処理をつないでいくのと同じように、pickle使ってデータ解析できるといいかも?
うーん、この説明だけからPythonがライブラリ充実しているかどうかはわからない。
特に python2系のwindowsで、日本語データが文字化けしまくって困り果てた経験が強烈なので、ちょっと疑問符のこして、読みすすめますー。
おお、Python標準ライブラリの一覧が脚注にございました。感謝。
https://docs.python.org/ja/3/library/