Pythonは非常にハイレベルのスクリプト言語です。解釈、コンパイル、対話(インタラクティブ)性、およびオブジェクト指向が組み合わされています。
Pythonは非常に読みやすいように設計され、他の言語と比べて、英語のキーワードがよく使用されています。他の言語の一部の句読点については、Pythonは他の言語よりも特徴的な文法構造を持っています。
- Pythonは解釈型言語です。これは、開発プロセスにコンパイル部分がないことを意味します。 PHPおよびPerl言語に似ています。
- Pythonは対話型(インタラクティブ)言語です:これは、Pythonの「>>>」の直後にコードを実行できることを意味します。
- Pythonはオブジェクト指向の言語です。これは、Pythonが、オブジェクト指向のスタイルまたはコードをオブジェクトのプログラミング手法にカプセル化されることをサポートしていることを意味します。
- Pythonは初心者向けの言語です:Pythonは、ジュニアプログラマー向けの優れた言語であり、単純な単語処理からWWWブラウザー、ゲームまで、幅広いアプリケーション開発をサポートします。
目次
Pythonの歴史
Pythonは、1980年代後半から1990年代初頭にかけて、オランダの国立情報工学・数学研究所のGuido vanRossumによって設計されました。
Python自体は、ABC、Modula-3、C、C ++、Algol-68、SmallTalk、Unixシェル、その他のスクリプト言語など、多くの他の言語から発展されてきたものです。
Perl言語と同様に、PythonソースコードもGPL(GNU General Public License)プロトコルに従います。
Pythonは現在、コア開発チームによって運営されており、Guido vanRossumはその発展と進歩を導く上で依然として重要な役割を果たしています。
Python 2.0は2000年10月16日にリリースされ、完全なガベージコレクションが追加され、Unicodeがサポートされました。
Python 3.0は2008年12月3日にリリースされました。このバージョンは、以前のPythonソースコードと完全には互換性がありません。 ただし、多くの新機能は後で古いPython 2.6 /2.7バージョンに移植されました。
Python 3.0バージョンは、Python 3000、または略してPy3kと呼ばれることがよくあります。 以前のバージョンのPythonと比較すると、これはメジャーアップグレードです。
Python 2.7は、Python2.xの最後のバージョンです。Python2.x構文のサポートに加えて、Python3.1構文の一部もサポートしています。
Pythonの特徴
- 習得しやすい。Pythonには、キーワードが比較的少なく、構造が単純で、構文が明確に定義されているため、習得が容易です。
- 読みやすい。Pythonコードの定義がより明確です。
- 運営やメンテナンスが簡単。Pythonの成功は、ソースコードの運営やメンテナンスがかなり簡単なことにあります。
- 広範な標準ライブラリ。Pythonの最大のメリットの1つは、豊富な、クロスプラットフォーム的なライブラリ、UNIX、Windows、Macintoshとの互換性が優れています。
- 対話(インタラクティブ)モード:対話(インタラクティブ)モードがサポートされています。端末でコードを入力して実行し、結果の言語、対話(インタラクティブ)テスト、およびデバッグしたコードフラグメントを取得できます。
- クロスプラットフォーム。オープンソースコードの特性に基づいて、Pythonは多くのプラットフォームで動作させできます。
- 拡張性。高速で実行されるキーコードが必要な場合、または公開したくないアルゴリズムを記述したい場合は、CまたはC ++を使用してその部分のプログラムを完了させ、Pythonプログラムから呼び出すことができます。
- データベース。Pythonは、すべての主要な商用データベースへのインターフェイスを提供します。
- GUIプログラミング。Pythonは、GUIのライブラリの作成をサポートし、多くのシステムへのインポートをサポートしています。
- 埋め込み可能。PythonをC / C ++プログラムに埋め込み、プログラムのユーザーが「スクリプト」を実行できるようにすることができます。
Pythonの応用
- YouTube–世界最大のビデオサイトであるYouTubeはPythonで開発されています。 GoogleーGoogle App Engine、コード、 Google.com、Googleクローラー、Google広告、およびその他のプロジェクトではは、Pythonを広範囲に使用しています。
- NASAーNASAは、データの分析と計算にPythonを幅広く使用しています。
- Reddit-ソーシャル共有サイト
- Dropbox–アメリカ最大のオンラインクラウドストレージWebサイトで、すべてPythonで開発されており、毎日10億のファイルのアップロードとダウンロードを処理しています。Bottle – PythonマイクロWebフレームワーク。
- EVE–オンラインゲーム。EVEは開発にPythonを幅広く使用しています。
- Blender-モデリングツールおよびGUI言語のオープンソースの3D描画ソフトウェアとしてPythonを使用します。
- Inkscape–オープンソースのSVGベクターグラフィックエディター
- RedHat / Centos –世界で最も人気のあるLinuxディストリビューションのYumパッケージ管理ツールはPythonで開発されています。
メリット
- シンプルーPythonは、シンプルさを最大の特徴とする言語です。優れたPythonプログラムを読むことは、英語を読んでいるように感じます。 Pythonの擬似コードは、その最大のメリットの1つです。言語自体を理解するのではなく、問題の解決に集中することができます。
- 習得が容易ーご覧のとおり、Pythonは非常に習得が容易です。前述のように、Pythonの構文は非常に簡単です。
- 無料、オープンソースーPythonはFLOSS(無料/オープンソースソフトウェア)の1つです。簡単に言えば、このソフトウェアのコピーを自由に配布し、そのソースコードを読み、変更を加え、新しい無料ソフトウェアでその一部を使用することができます。 FLOSSは、集団の知識を共有する概念に基づいています。これがPythonが非常に優れている理由の1つです。Pythonは、より優れたPythonを望んでいる人々のグループによって作成され、絶えず改善されています。
- ハイレベルの言語– Pythonでプログラムを作成する場合、プログラムで使用されるメモリの管理方法など、ボトムの詳細について考える必要はありません。
- クロスプラットフォームーオープンソースの性質により、Pythonは多くのプラットフォームで活用されています(少々の変更により、さまざまなプラットフォームで動作するようになります)。システム依存機能の使用を避けるように注意すれば、すべてのPythonプログラムは、変更なしで次のプラットフォームのいずれかで実行できます。これらのプラットフォームは、Linux、Windows、FreeBSD、Macintosh、Solaris、OS / 2、Amiga、AROS、AS / 400、BeOS、OS / 390、z / OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、 PlayStation、Sharp Zaurus、Windows CE、さらにはPocketPC、Symbian、LinuxベースのGoogleのAndroidプラットフォームが含まれています。
- 解釈性ーこの点については説明が必要です。 CやC ++などのコンパイルされた言語で記述されたプログラムは、ソースファイル(つまりCまたはC ++言語)からコンピューターで使用される言語(バイナリコード、つまり0と1)に変換できます。このプロセスは、コンパイラとさまざまなフラグおよびオプションによって完了します。プログラムを実行すると、リンカー/ローダーソフトウェアがプログラムをハードディスクからメモリにコピーして実行します。 Python言語で記述されたプログラムは、バイナリコードにコンパイルする必要はありません。プログラムはソースコードから直接実行できます。コンピューター内で、Pythonインタープリターは、ソースコードをバイトコードと呼ばれる中間形式に変換し、コンピューターで使用されるマシン言語に変換して実行します。実際、プログラムのコンパイル方法や正しいライブラリがリンクされて再現されることなどについて心配する必要がなくなったため、これらすべてによってPythonの使用が容易になります。 Pythonプログラムを別のコンピューターにコピーするだけでよいので、これにより、Pythonプログラムは素晴らしいクロスプラットフォーム性を持っています。
- オブジェクト指向ーPythonは、プロシージャ指向とオブジェクト指向の両方のプログラミングをサポートします。 「プロシージャ指向」言語では、プログラムは、プロシージャまたは単に再利用可能なコードである関数から構築されます。 「オブジェクト指向」言語では、プログラムはデータと関数で構成されるオブジェクトから構築されます。 C ++やJavaなどの他の主要言語と比較して、Pythonは非常に強力でシンプルな方法でオブジェクト指向のプログラミングを実現しています。
- 拡張性ーキーコードの一部をより高速に実行する必要がある場合、または一部のアルゴリズムを非公開にしたい場合は、プログラムの一部をCまたはC ++で記述し、それらをPythonプログラムで使用できます。
- 豊富なライブラリ–Python標準ライブラリは確かに巨大で、さまざまなタスクを処理するのに役立ちます。通常の表現式、ドキュメントの生成、ユニットテスト、スレッド、データベース、Webブラウザー、CGI、FTP、電子メール、XML、XML-RPC、HTML、WAVファイル、パスワードシステム、GUI(グラフィカルユーザーインターフェイス) Tkおよびその他のシステム関連の操作が含まれています。Pythonがインストールされている限り、これらの機能はすべて使用できます。これは、Pythonの「フル機能」哲学と呼ばれています。標準ライブラリに加えて、wxPython、Twisted、Python画像処理ライブラリなど、他の多くの高品質ライブラリもあります。
- 標準化されたコードー Pythonは強制インデントを使用して、コードを非常に読みやすくなっています。
デメリット
- 実行速度。速度に需要がある場合は、C ++を使用して重要な部分を書き直してください。
- アーキテクチャの選択肢が多すぎます(C#のような公式の.netアーキテクチャはなく、rubyのような歴史が短いため、比較的集中的なアーキテクチャ開発もありません。Ruby on Railsアーキテクチャは、中小規模のWebプログラムの開発には無敵です)。これも、より多くの人才とプロジェクトを引き付けるという側面からpythonのすばらしさを証明するものでもあります。
Pythonの主な応用分野は次のとおりです
- クラウドコンピューティング。クラウドコンピューティングにおいて最もホットな言語、典型的な応用はOpenStackです。
- WEB開発。Djangoのような多くの優れたWEBフレームワーク、YouTube、Dropbox、Doubanのような多くの大規模なWebサイトがPythonによって開発されています。
- 科学的コンピューティングと人工知能。典型的なライブラリNumPy、SciPy、Matplotlib、Enided ライブラリ、Panda
- システムの運営とメンテナンス。運営とメンテナンスの基本的な言語
- 金融における定量的取引と財務分析。金融エンジニアリングの分野では、Pythonが最も使用されているだけでなく、その重要性は年々高まっています。
- グラフィカルGUI。PyQT、WXPython、TkInter
コメントを残す