このページは著作権侵害のおそれが指摘されており、事実関係の調査が依頼されています。
このページの現在または過去の版は、ウェブサイトや書籍などの著作物からの無断転載を含んでいるおそれが指摘されています。もしあなたが転載元などをご存知なら、どうぞこのページのノートまでご一報ください。著作権侵害が確認されると、このページは削除の方針により一部の版または全体が削除されます。もしこのページの加筆や二次利用をお考えでしたら、この点を十分にご認識ください。
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}
この項目では、プログラミング言語について説明しています。その他の用法については「パイソン (曖昧さ回避)」をご覧ください。
PythonPythonのロゴ
パラダイム関数型プログラミング、オブジェクト指向プログラミング、動的計画法、命令型プログラミング、マルチパラダイムプログラミング
Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。 Pythonは1991年にグイド・ヴァン・ロッサムにより開発されたプログラミング言語である。 最初にリリースされたPythonの設計哲学は、ホワイトスペース(オフサイドルール)の顕著な使用によってコードの可読性を重視している。その言語構成とオブジェクト指向のアプローチは、プログラマが小規模なプロジェクトから大規模なプロジェクトまで、明確で論理的なコードを書くのを支援することを目的としている。 Pythonは動的に型付けされていて、ガベージコレクションされている。構造化(特に手続き型)、オブジェクト指向、関数型プログラミングを含む複数のプログラミングパラダイムをサポートしている。Pythonは、その包括的な標準ライブラリのため、しばしば「バッテリーを含む」言語と表現されている[† 1]。 Pythonのインタプリタは多くのOSに対応している。プログラマーのグローバルコミュニティは、自由かつオープンソース [† 2] のリファレンス実装であるCPythonを開発および保守している 。非営利団体であるPythonソフトウェア財団は、PythonとCPythonの開発のためのリソースを管理・指導している。 Pythonはインタプリタ上で実行することを前提に設計している。以下の特徴をもっている: Pythonには、読みやすく、それでいて効率もよいコードをなるべく簡単に書けるようにするという思想が浸透しており、Pythonコミュニティでも単純で簡潔なコードをよしとする傾向が強い[† 3]。 Pythonの本体は、ユーザがいつも必要とする最小限の機能のみを提供する。基本機能以外の専門機能や拡張プログラムはインターネット上にライブラリとして提供されており、別途ダウンロードして保存し、必要なツールはこのツールキットからその都度呼び出して使用する[† 4]。 Pythonでは「あることをなすのに唯一の良いやり方があるはず」という哲学がある[† 3](参考: Perl「やり方は一つじゃない」[4])。 Pythonではプログラムの文書化(ソフトウェアドキュメンテーション)が重視されており、言語の基本機能の一部となっている。 以下に、階乗 (関数名: factorial)を題材にC言語と比較した例を示す。 Pythonのコード:def factorial(x): if x == 0: return 1 else: return x * factorial(x - 1) わかりやすく整形されたC言語のコード:int factorial(int x) { if (x == 0) { return 1; } else { return x * factorial(x - 1); }} この例では、Pythonと整形されたC言語とでは、プログラムコードの間に違いがほとんど見られない。しかし、C言語のインデントは構文規則上のルールではなく、単なる読みやすさを向上させるコーディングスタイルでしかない。そのためC言語では全く同じプログラムを以下のように書くこともできる。 わかりにくいC:int factorial(int x) { if(x == 0) {return 1;} else {return x * factorial(x - 1); } } Pythonではインデントは構文規則として決められているため、こうした書き方は不可能である。Pythonではこのように強制することによって、ソースコードのスタイルがその書き手にかかわらずほぼ統一したものになり、その結果読みやすくなるという考え方が取り入れられている。これについては賛否両論があり、批判的立場の人々からは、これはプログラマがスタイルを選ぶ自由を制限するものだ、という意見も出されている。
概要
特徴
動的な型付け
ガベージコレクション
マルチパラダイム
モジュール・クラス・オブジェクト等の言語の要素が内部からアクセス可能であり、リフレクションを利用した記述が可能。
言語
設計思想
構文
Size:104 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef