11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonの内部構造

Last updated at Posted at 2015-04-19

今はPythonについて本を読んでるのですが、言語を習得する前にPythonしくみが面白かったので投稿してみました。

Pythonは一般的に「オブジェクト指向型スクリプト言語」?みたいな部類に分類されています。これはJavaのようなオブジェクト指向のプログラミング言語とPerlのようなスクリプト言語の中間を取っているらしく。記述はスクリプト言語のようにできるし、構造的にはオブジェクト指向のような機能も備えた言語らしいです。

この言語はC,C++,Javaのように実行する前にコンパイルする必要はないらしく、実行する度にファイルに書き換えが行われていれば自動的にソースコードをバイトコードに書き換えて、そのバイトコードをPVM(Python Virtual Machine)上で実行させます。PVMはバイトコードを上の行から最後の行までを順に実行していくだけの仮想機械なので、C言語のようにコンピューター自身が理解できるバイナリーに書き換える必要がなく、PVMがバイトコードを理解して実行してくれます。このような言語の仕組みをインタプリタといいます。

インタプリタの利点は言語のバージョンやコンピュターに左右されずにどのコンピューターでも一度バイトコードを作ってしまえばPVMで実行ができるという点です。C言語のようにコンピューターごとにソースコードをコンパイルして多くのステップを踏んでバイナリまで書き換える必要がないので汎用性があるのでしょう。たしかJavaもインタープリタを採用してるのでJavaに詳しい方は疑問に思う事はないと思います。欠点としてはバイナリまで書き換えず、仮想機械で走らせるため速度がCに比べると遅くなるという点らしいですが、これに関しては勉強不足なので深くまでは理解しきれていません。もしわかる方がいれば教えてください。

参考資料:初めてのPython 第3版 (発行元:オーライリージャパン)

11
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?