Pythonのしくみ

May 28 2020
Pythonは、英語に似た構文を使用しているため、初心者でも簡単に学習できるプログラミング言語です。また、さまざまな用途があります。
Pythonは、Webおよびソフトウェア開発に使用される一般的なプログラミング言語です。マスコット/ゲッティイメージズ

コンピューターやその他のデバイスのプログラミングを始めたばかりの場合は、最初に学習するのに最適なプログラミング言語を見つけようとしている可能性があります。インターネット上には、どのプログラミング言語を学ぶべきかについての記事がたくさんあります。これは、どのプラットフォームに最適で、最も簡単に習得でき、大金を稼ぐ仕事に就くのに役立つ可能性が最も高い言語です。これらすべての意見をふるいにかけているのであれば、Pythonについて聞いたことがある可能性は十分にあります。

あなたの質問に対する正しい答えはおそらく1つではありません。プログラミング言語を学ぶことは、プログラマーのように考える方法も教えてくれます。すべてのプログラミング言語には長所と短所があります。幅広いアプリケーションで機能する言語を探している場合、または単にコーディングの水に足を踏み入れたい場合は、Pythonを試してみるとよいでしょう。

Pythonは、新しいプログラマーにとって理解しやすいという評判があります。コンピューター用のプログラムやWeb用のアプリケーションを作成するために使用できます。ただし、次の大きなモバイルアプリを作成したい場合は、Pythonは一般的な選択肢ではありません。Pythonユーザーの2019年の調査では、最も一般的な用途はWeb開発とデータ分析であることがわかりました。回答者の約6%だけがゲーム開発またはアプリ開発にそれを使用しました。

Pythonプログラミングには多くの商用アプリケーションがありますが、この言語は、特に大量のデータを扱う学界でも定着しています。愛好家にも便利です。

Pythonは、当時の雇用主であるオランダの国立数学およびコンピューターサイエンス研究所であるCentrum Wiskunde&Informatica(CWI)でABCという名前の言語を使用していたGuido vanRossumの創作です。彼はABCのいくつかの側面が好きでしたが、言語を拡張することがいかに難しいかということに不満を感じていました。

1989年のクリスマス休暇中に、ヴァンロッサムは自分の言語を作成しようと決心しました。 1年ちょっと後の1991年2月、彼は自分の作品の最初のバージョンをUSENETにアップロードしました。彼はまた、有名な英国のお笑いグループからの「モンティパイソンのフライングサーカス」のエピソードの脚本を読んでいました。 「短く、ユニークで、少し不思議な」名前を探して、彼はそれをPythonと呼ぶことにしました。 Pythonをコーディングしたい場合、ショーのファンである必要がありますか?Python Software Foundationの言葉によれば、「いいえ、でも役に立ちます。:)」。

彼は今は引退したと考えていますが、ヴァン・ロッサムは、1995年以来保持しているPythonの「慈悲深い独裁者」の称号を保持しています。実際、それ以来、プロジェクトの変更について最終決定権を持つ多くのオープンソースクリエーターにも、開発コミュニティからその称号が与えられています。

Pythonはオープンソースです。つまり、オープンソースイニシアチブによって作成された公式の定義によれば、Pythonは無料で使用および配布できます。必要に応じて、ソースコードのコピーをダウンロードすることもできます。

2020年5月の時点で、プログラミング言語のチュートリアルを検索する頻度でプログラミング言語をランク付けする、PopularitY of Programming Index(PYPL)は、Pythonを最初にリストしています。新進のコーダーが最初にプログラミング言語を選択するのを助けることを目的としたこのサイトは頻繁に変更されますが、Pythonへの関心は2015年から2020年の間に最も大きくなりました。

Insight DataScienceのデータサイエンスフェローであるRobertThorstadは、使いやすさがPythonの台頭の主な理由の1つであると考えています。「使いやすさは、Python言語の明確な設計哲学です」と彼は言います。コンピューターの画面に「Hello、world」と出力する短いプログラムを作成するという昔ながらの慣習では、Javaコーダーに何行もかかる場合がありますが、Pythonでは次のように入力するだけで実行できます。

print( "Hello、World!")

Thorstad氏によると、その単純さにより、Pythonは初心者のプログラマーにとってより親しみやすいように見えます。多くの人がPythonコードを人間が読みやすいと賞賛しています。他のプログラミング言語がコマンドの終わりを示すためにセミコロンなどの文字を使用する場合、Pythonは改行を使用します。Pythonは、他の言語で関数を囲む可能性のある中括弧を使用するのではなく、インデントを使用します。

Pythonコードの例。

Pythonプログラミングの用途

Pythonは用途の広い言語であり、その開発者はビジネスと個人の両方の理由でPythonを使用することがよくあります。非営利のPythonSoftware Foundationとソフトウェア開発者向けのツールを作成する営利企業であるJetBrainsによる2018年の調査によると、人々はこの言語を使用してWeb用のアプリケーションを作成し、ゲームやモバイルアプリケーションを作成し、システム管理、教育、機械学習を行っています。およびデータ分析。

Pythonは、多くのオブジェクト指向プログラミング言語の1つです。オブジェクトは、特定のデータの状態をキャプチャする型付きコードのセクションです。これらのオブジェクトは、後ですべてを書き直すことなく、他のコードで使用できます。オブジェクトにエンコードされた情報は、それを呼び出すコードに影響を与え、オブジェクトを多用途のプログラミングツールにします。

Pythonのもう1つの利点は、この言語で記述されたアプリケーションが、Windows、Macintosh、Linuxコンピューターなどの多くのプラットフォームで動作することです。 Pythonはインタプリタ言語であり、コンパイル言語ではありません。つまり、C、COBOL、アセンブラーなどの言語で記述されたアプリケーションとは異なり、Pythonで記述されたコードは、コンピューターによる解釈プロセスを実行する必要があります。人間が書いたり読んだりするのは簡単ですが、毎回コンピュータにコードを解釈させると速度が低下します。 Pythonの欠点として、速度がよく挙げられます。

しかし、ソースタッドは、その言語が悪いラップになると信じています。「Pythonには、このギャップを急速に埋めているライブラリがいくつかあります。」彼は、NumPyやTensorFlowなどのライブラリ、およびNumbaやCythonなどのコンパイラを指摘しています。これらはすべて、プログラミング言語に機能を追加して速度を向上させるオープンソースツールです。

データサイエンスのためのPython

Pythonは、さまざまな業界のさまざまな種類のアプリケーションに使用できますが、この言語はデータサイエンティストに特に人気があります。Thorstadが指摘するPythonコミュニティは非常に大きく、非常に活発です。「Pythonで一般的なデータサイエンスタスクを実行するための強力で本当に便利なライブラリが多数あります」と彼は言います。コミュニティによって開発されたツールには、次のものがあります。

  • 機械学習ツール(TensorFlow、PyTorch、Theano、Gensim)
  • 数値ライブラリ(NumPy)
  • 統計ライブラリ(statsmodels、SciPy)
  • プロットライブラリ(Matplotlib、Seaborn)

彼の著書「PythonforData Analysis」の第2版で、UrsaLabsのディレクターでPandasフレームワークの作成者であるWesMcKinneyは、コミュニティで作成されたライブラリとフレームワークがPythonが他のデータサイエンスの代替手段と競合するのに役立つとThorstadに同意します。 R、MATLABなどとして。

「汎用ソフトウェアエンジニアリングに対するPythonの全体的な強みと組み合わせると、データアプリケーションを構築するための主要言語として優れたオプションです」と彼は書いています。

世界中のPythonコミュニティでは、毎年多くの会議が開催され、あらゆる種類とスキルレベルのプログラマーが集まって学習とネットワーキングを行うことができます。その中には、世界中の複数の場所で年に数回開催されるPyConがあります。Python Software Foundationは、そのサイトでイベントのリストを管理しています。

強力なコミュニティが協力して互いに助け合い、大量のデータを処理するPythonの機能を強化するツールを構築することで、データサイエンスプログラミングに関心のある人々はPythonを安全な策と見なすことができます。グイド・ヴァン・ロッサムの拡張可能なプログラミング言語の計画はうまく機能しているように見えます。

Python入門

Pythonについて学んだことに興味があり、すぐにプログラミングを開始する準備ができている場合は、役立つリソースがたくさんあります。 「プログラミング言語を学ぶ最良の方法は、それを行うことです」とThorstad氏は言います。 「私は人々に彼らが情熱を持っているプロジェクトを選んでそれを作り始めるようにアドバイスしたいです。」

Pythonがまだコンピューターにプリインストールされていない場合は、Pythonサイトから無料でダウンロードできます。Thorstadは、多くの人気のあるプログラミングライブラリを含む無料のAnacondaディストリビューション、またはグラフィカルインターフェイスを備えたSpyder統合開発環境をお勧めします。コンピューターにソフトウェアをインストールしたくない(またはインストールできない)場合、Thorstadは無料のツールであるGoogle Colaboratoryもお勧めします。このツールを使用すると、WebブラウザーでPythonコードを記述して実行できます。

最終的に、Pythonコードを作成するために本当に必要なソフトウェアはテキストエディターだけであり、コンピューターに少なくとも1つインストールされている可能性が非常に高くなります。

地元の図書館や書店には、Pythonの使用を開始するのに役立つプログラミングガイドがおそらくあります。学校や大学はその言語でクラスを提供しています。受講できる有料のオンラインコースもありますが、学ぶために大金を費やす必要はありません。オンラインでも利用できる初心者向けの優れた無料オプションがあります。

  • Python SoftwareFoundationの初心者向けPython
  • GoogleのPythonクラス
  • Pythonでのコンピュータサイエンスとプログラミングの概要—マサチューセッツ工科大学(MIT)
  • Pythonの概要— Microsoft
  • Python for Everybody Specialization —ミシガン大学(Coursera経由)
  • Pythonチュートリアル— w3schools

もちろん、プロジェクトに最適なプログラミング言語を選択する必要がありますが、あらゆる種類の個人プロジェクトや企業プロジェクトに使用できる読みやすいコードに興味がある場合は、Pythonを学ぶことから始めるのが最適です。

こんにちは世界!

プログラミングクラスを受講したことがあるか、プログラミングブックの最初の演習を見たことがあれば、「He​​llo、World!」を印刷していることに気付いたかもしれません。これは、新しいプログラマーにとって一般的な最初のタスクです。そのために、1972年にプログラミング言語B用に書いていたマニュアルにそれを含めたBrian Kernighanに感謝することができます。Kernighanは、ひよこが卵から孵化したときにフレーズを言っているのを見たイラストに触発されました。彼の仕事は他の多くの人にも同じことをするように促し、今ではその演習はプログラミングの伝承の一部となっています。