MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

独学Python 2: できること, 技術的な長所, 多言語との連携, 勉強しやすい, 使い易い

はじめに

以下は,プログラミング言語Pythonの書籍として非常に有名な,

『初めてのPython』

初めてのPython 第3版

初めてのPython 第3版


を読みながら,Pythonを勉強した時の個人的なメモです.

関連記事:

myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com


Pythonでできること(続き)

* インターネット関連処理:FTPによるファイル転送,メールの送受信,webサイトも作れる.
* コンポーネントインテグレーション:CやC++のコードにPythonを埋め込むことができる.システムやコンポーネントの動きをコントロールするスクリプトに使用すると非常に便利.WordやExcelと連携することも可能.
* データベース:pickle.
* ラピッドプロトタイピング:一度Pythonでつくって,C++に移行する.
* 数値演算:Numpyを使えば,数値演算ができる.高いパフォーマンスを必要とする所だけ,C++を使うことができ,実行速度と簡単さの両方を得られる.アニメーションや3D画像作成もできる.
* 画像処理,人工知能:ニューラルネットワークシミュレータ,エキスパートシステムシェル.Pythonはコンポーネントの統合で力を発揮する.

Pythonの技術的な長所

* オブジェクト指向をサポート
* すべて無料:商品にも使える.
* すべてのOSで同じものがちゃんと動く.
* 高い機能性:ダイナミックな型付け(型や変数の宣言というものがない),ガーベージコレクション,大規模システムの開発が容易(モジュールやクラス,例外),リストやディクショナリなどのデータの型が初めから入っている,またそれらの操作機能も入っている,たくさんのライブラリ.

多言語との連携

Pythonのコーディングが短時間でできるという特性を活かして,システム全体をまず,Pythonで作り,高いパフォーマンスが要求されるところだけを,後からCに変えていくことができる.

使い易い

コードを書けば,すぐにプログラムを実行できる.
リンクやコンパイルといったものはない.
対話型のコマンドラインを利用してプログラミングが可能.
Pythonのコードを実行可能な擬似コードと呼ぶ人もいる.
なぜなら,あまりにもコード簡単すぎて,擬似コードのように見えるからである.

勉強しやすい

初心者でも数日で,プログラム経験がある人なら数時間である程度のプログラミングが可能.

C++との関係

C++よりはシンプルで使い易い.ただPythonとC++は競合する言語ではなく,
果たすべき役割がことなるので,お互い保管しあうと考えればよい.