ホームページ > バックエンド開発 > Python チュートリアル > Pythonってどんなソフトウェア?

Pythonってどんなソフトウェア?

藏色散人
リリース: 2023-01-06 11:17:14
オリジナル
28211 人が閲覧しました

Python はソフトウェアではなく、コンピューター プログラミング言語です。Python は効率的な高レベルのデータ構造を提供し、シンプルかつ効果的なオブジェクト指向プログラミングも可能にします。Python の構文と動的型付け、およびその性質これは、ほとんどのプラットフォームでスクリプト作成や迅速なアプリケーション開発を行うためのプログラミング言語となっています。

Pythonってどんなソフトウェア?

この記事の動作環境: Windows7 システム、Dell G3 コンピューター、python3.6.4。

Python とはどのようなソフトウェアですか?

Python はソフトウェアではなく、コンピューター プログラミング言語です。

Python は、1990 年代初頭に、ABC と呼ばれる言語の代替として、オランダ数学コンピューター サイエンス協会の Guido van Rossum によって設計されました。 Python は効率的な高レベルのデータ構造を提供し、シンプルかつ効果的なオブジェクト指向プログラミングを可能にします。 Python の構文と動的型付け、およびインタープリタ型言語の性質により、Python はほとんどのプラットフォームでスクリプト作成と迅速なアプリケーション開発のためのプログラミング言語となっています。バージョンの継続的な更新と新しい言語機能の追加により、Python は徐々に使用されています。独立した大規模プロジェクト開発向け。

Python インタープリターは簡単に拡張可能であり、C または C (または C を通じて呼び出すことができる他の言語) を使用して、新しい関数やデータ型で拡張できます。 Python は、カスタマイズ可能なソフトウェアの拡張プログラミング言語としても使用できます。 Python の豊富な標準ライブラリは、各主要なシステム プラットフォームに適したソース コードまたはマシン コードを提供します。

利点

シンプルさ: Python はシンプルさの概念を表す言語です。優れた Python プログラムを読むのは、英語を読んでいるような気分になります。これにより、言語自体を理解するのではなく、問題を解決することに集中できます。

学習が簡単: Python のドキュメントは非常にシンプルなので、Python を始めるのは非常に簡単です。

読みやすく保守しやすい: 明確で一貫したスタイル、強制インデント

多目的に使用可能

高速: Python の最下層は C 言語で書かれており、多くの標準ライブラリとサードパーティ ライブラリも C で書かれており、非常に高速に実行されます。

無料およびオープンソース: Python は FLOSS (Free/Open Source Software) の 1 つです。ユーザーは、このソフトウェアのコピーを自由に配布し、そのソース コードを読み、変更を加え、新しいフリー ソフトウェアでその一部を使用することができます。 FLOSS は、知識を共有するグループの概念に基づいています。

高級言語: 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 は完全なオブジェクト指向言語です。関数、モジュール、数値、文字列はすべてオブジェクトです。また、継承、オーバーロード、派生、多重継承を完全にサポートしているため、ソース コードの再利用性を高めることができます。 Python は、オーバーロードされた演算子と動的型付けをサポートしています。従来の関数型プログラミング言語である Lisp と比較すると、Python は関数型設計に対する限定的なサポートしか提供しません。 Haskell および Standard ML で実証済みの関数型プログラミング ツールを提供する 2 つの標準ライブラリ (functools、itertools) があります。

スケーラビリティ、拡張性: より高速に実行するために重要なコード部分が必要な場合、または一部のアルゴリズムを公開したくない場合は、プログラムの一部を C または C で記述し、それを Python で使用できます。プログラム。

Python 自体は拡張可能に設計されています。すべての機能が言語コアに統合されているわけではありません。 Python は、プログラマーが C 言語、C、Cython を使用して拡張モジュールを簡単に作成できるように、豊富な API とツールを提供します。 Python コンパイラー自体を、スクリプト言語を必要とする他のプログラムに統合することもできます。そのため、Python を「接着言語」として使用する人も多くいます。 Python を使用して、他の言語で書かれたプログラムを統合し、カプセル化します。 Google エンジンなど、Google 内の多くのプロジェクトは、C を使用して非常に高いパフォーマンス要件を持つ部分を記述し、Python または Java/Go を使用して対応するモジュールを呼び出します。 「Python Technical Manual」の著者である Alex Martelli 氏は、「言うのは難しいですが、2004 年に Python はすでに Google 社内で使用されていました。Google は多くの Python 専門家を採用しましたが、その前にすでに Python を使用することを決定していました。」と述べています。可能な場合は Python を使用し、必要な場合は C を使用し、ハードウェアを制御する場合は C を使用し、迅速な開発中に Python を使用します。」

組み込み性: Python は C/C プログラムに組み込むことができ、これによりプログラム ユーザーにスクリプト機能が提供されます。 。

豊富なライブラリ: Python の標準ライブラリは実に膨大です。正規表現、ドキュメント生成、単体テスト、スレッド、データベース、Web ブラウザ、CGI、FTP、電子メール、XML、XML-RPC、HTML、WAV ファイル、暗号化、GUI (グラフィカル ユーザー インターフェイス) などのさまざまなタスクに役立ちます。 )、Tk、およびその他のシステム関連の操作。これは、Python の「フル機能」の哲学と呼ばれます。標準ライブラリに加えて、wxPython、Twisted、Python イメージング ライブラリなど、他にも多くの高品質ライブラリがあります。

標準化されたコード: Python はコードを読みやすくするために強制インデントを使用します。 Python で書かれたプログラムは、バイナリ コードにコンパイルする必要はありません。 Python の作成者は、プログラミングの悪い習慣 (if ステートメントで右の次の行をインデントしないなど) がコンパイルできないように、非常に制限的な構文を設計しました。最も重要なものの 1 つは、Python のインデント規則です。他のほとんどの言語 (C など) との違いの 1 つは、モジュールの境界がこの行の各行の最初の文字の位置によって完全に決定されることです (一方、C 言語では、明確に区別するために 1 対の中括弧 {} が使用されます)。モジュールの境界の外側で決定され、文字の位置とは関係がありません)。 Python は、プログラマにインデントを強制することにより (モジュールが使用される if、for、および関数の定義を含む)、プログラムをより明確で美しくします。

高度な動的プログラミング: Python は大まかに「スクリプト言語」(スクリプト言語) として分類されますが、実際には、Zope、Mnet、BitTorrent などの大規模なソフトウェア開発プロジェクトや Google などで広く使用されています。も広く利用しています。 Python の支持者は、Python を高水準動的プログラミング言語と呼ぶことを好みます。その理由は、「スクリプト言語」とは一般に、シェルスクリプト、VBScript、その他のプログラミング言語など、単純なプログラミング タスクのみを実行する言語を指すためです。単純なタスクのみを処理するため、Python と比較することはできませんが、Python は同等です。

科学技術コンピューティングを行うことには多くの利点があります。科学コンピューティングについて話すとき、最初に名前が挙がるのは MATLAB かもしれません。代替できない MATLAB の一部の高度に専門的なツールボックスを除いて、MATLAB の一般的な関数のほとんどは、Python 世界の対応する拡張ライブラリにあります。 MATLAB と比較して、科学技術計算に Python を使用することには次の利点があります。

## まず第一に、MATLAB は商用ソフトウェアであり、高価です。 Python は完全に無料であり、多くのオープンソース科学計算ライブラリが Python 呼び出しインターフェイスを提供しています。ユーザーは、Python とその拡張ライブラリのほとんどを任意のコンピュータに無料でインストールできます。

# 次に、MATLAB と比較して、Python は学習が容易で、より厳密なプログラミング言語です。これにより、ユーザーは読みやすく保守しやすいコードを作成できるようになります。

# 最後に、MATLAB は主にエンジニアリングと科学コンピューティングに焦点を当てています。しかし、コンピューティング分野においても、ファイル管理、インターフェイス設計、ネットワーク通信など、さまざまなニーズが頻繁に発生します。 Python には、さまざまな高度なタスクを簡単に実行できる豊富な拡張ライブラリがあり、開発者は Python を使用して、完全なアプリケーションに必要なさまざまな機能を実装できます。

欠点

単一行ステートメントとコマンドライン出力の問題: 多くの場合、import sys; for i in sys など、プログラムを 1 行で記述することができません。パス:印刷 i. Perl と awk にはこの制限がなく、シェルの下で簡単なプログラムを簡単に完成させることができ、Python のようにプログラムを .py ファイルに書き込む必要がありません。

初心者に混乱を引き起こす: 独特の構文は制限とは言えないかもしれませんが、ステートメントの関係を区別するためにインデントを使用する方法は、依然として多くの初心者に混乱をもたらしています。経験豊富な Python プログラマーでも罠に陥る可能性があります。

実行速度が遅い: これは、C および C と比較したことを指します。 Python 開発者は、未熟な最適化や重要でない最適化を避けようとします。コードの重要ではない部分を高速化するパッチは、通常、Python には組み込まれません。非常に多くの人が Python は遅いと考えています。ただし、80/20 ルールによれば、ほとんどのプログラムには高速性の要件はありません。実行速度が非常に高い状況では、Python 設計者は JIT テクノロジを使用するか、プログラムのこの部分を C/C 言語で書き直す傾向があります。利用可能な JIT テクノロジは PyPy です。

推奨学習: 「

Python ビデオ チュートリアル

以上がPythonってどんなソフトウェア?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート