背景
MaxElc 、 DarwinTenk 、 Devgruに参加します :) Pythonに関する一連の記事を始めます 。 私自身は、PHPとJavaを処理した経験があります。 しかし、ツールの相対的な開発のたびに、特定の何かに関連するツールに対する不満が残っており、検索が続けられました。 今日、私の目にはPythonが理想に最も近いものです。 理想は達成不可能です-これは理解可能であるため、Pythonにも欠点があります。 まず第一に、これは実行速度ですが、この問題はいくつかの方法で解決できます。これについては後ほど説明します。
私自身は最近Pythonを学び始めました。 この一連の記事を開始する-私はいくつかの目標を追求しています。 第一に、これは追加の自発性と双方向性であり、第二に経験です。 第三に、Runetの広がりをさまよう-私はPythonが世界よりもはるかに人気が低いと思います。 状況を修正する必要があります:)
Pythonのイデオロギー、つまりその主要な切り札の1つが開発の速度と開発の速度であるという事実に従って、私たちはすぐに、ほとんどの論文で構文とプログラムの構築の基本をスキップし、このシリーズの主な目標であるジャンゴの習得に進みます。
それで、私たちは始めています。
建築
Pythonは、解釈されたスクリプトプログラミング言語です。 スクリプトが最初に実行されると、インタープリターは言語命令をバイトコードに変換し、拡張子.pycのファイルに保存します。 次に、バイトコードがPython仮想マシン(PVM)で実行されます。 スクリプトが2回目に実行されると、インタープリターは変更が加えられたかどうかをモニターします。 そうでない場合、.pycファイルはすぐに起動されます。
Pythonの実装:
- CPython-標準のPython実装
- Jythonは、Pythonの代替実装です。 その主な目標は、Javaプラットフォームとのシームレスな統合です。 PythonコードをJavaバイトコードに変換するJavaクラスで構成され、Java仮想マシン(JVM)で実行されます。
- IronPythonは、.NETプラットフォームと統合するためのPython実装です。
- Shedskin C ++は、Pythonプログラムを実行するための型破りなアプローチです。 目標は、実行速度を最適化することです。 PythonソースコードをC ++ソースコードに変換します。これは、マシンコードにコンパイルできます。
- PyPyは、Python言語自体+ JITコンパイラーでのPVMの実装です。
プログラム起動オプション
Pythonおよびdjangoで開発するための作業環境を迅速に編成する方法については、初心者向けの良い説明がすでにハブに書かれています。 説明されている一連のアクションを既に実行している場合、Pythonインタープリターが既にマシンにインストールされていることを意味します。 ほとんどのLinuxディストリビューションでは、デフォルトでインストールされます。
オプション1.インタラクティブモード
対話モードに入るには、コマンドラインでpythonコマンドを入力する必要があります。
$ python
Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Hello World!'
Hello World!
対話モードでは、命令は行ごとに実行されます。 コードブロックを実行するには、たとえば、空のテキストファイルに次の2つのコマンドを入力します。
str1 = 'Hello World!'
str2 = " It's my second script"
print 'import has been done successfully'
そして、それらをhi.pyファイルに保存します。 次に、コマンドラインでcdコマンドを使用して、ファイルを保存したディレクトリに移動し、pythonコマンドを入力します。
import <file name without .py>拡張子を使用して、指示をインポートできます。 Pythonのファイルは、名前空間を含むモジュールです。 モジュールをインポートすることにより、トップレベルの名前空間にアクセスできます。
$ python
Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hi
import has been done successfully
>>> print hi.str1+hi.str2
Hello World! It's my second script
命令でhi.str1という形式の命令を使用して、hiモジュール内で定義されたstr1という名前を参照します。
Pythonの文字列、数値もオブジェクトです。 SmallTalk言語「すべてがオブジェクト」に由来するパラダイムの継承をトレースします。 しかし、私の記憶がすぐに私に役立つなら、演算子もオブジェクトであるという事実の問題でした。 Pythonでは、+演算子は連結を実行するオーバーロードされた文字列演算子です。
fromステートメントを使用して、特定の名前をインポートできます。
>>> from hi import str1
>>> print str1
Hello World!
その後、インポートされた名前に直接アクセスできます。
ファイルに変更を加えた後、変更を有効にするには、reload()関数を使用してモジュールをリロードする必要があります。
>>> reload(hi)
<module 'hi' from 'hi.pyc'>
利用可能なすべてのモジュール名のリストを取得するには、dir()関数を使用できます。
>>> dir(hi)
['__builtins__', '__doc__', '__file__', '__name__', 'str1', 'str2']
オプション2.コマンドラインから起動します。
次のようにコマンドラインからスクリプトを実行できます。
$ python hi.py
コマンドラインパラメータをスクリプトに渡すこともできます。 組み込みのsysモジュールをインポートすることにより、スクリプトからそれらにアクセスできます。 hi.pyファイルを次のように変更します。
import sys
print sys.argv
その後、コマンドラインから呼び出して、いくつかの任意のパラメーターを渡します。
$ python hi.py 1 2 3 'param-pam-pam'
['hi.py', '1', '2', '3', 'param-pam-pam']
その結果、渡されたパラメーターを含むリストを取得します。 リストもPythonコンストラクトです。 リストについては、次の記事で説明します。
スクリプトの入力および出力ストリームは、たとえば次のようなシェルツールを使用してリダイレクトできます。
$ python hi.py 1 2 3 'param-pam-pam' > text.txt
オプション3. IDE。
インタラクティブモードは、特定の指示を試す必要がある場合など、場合によっては便利です。 ただし、その中で常に作業するのは不便です。 モジュールを再起動することを常に覚えておく必要があります。
したがって、上記のIDE構成手順を使用して、そこからプログラムを実行する方がはるかに便利です。 また、Pythonでプログラムを開発する場合、構文を強調表示してメモ帳でコードを記述し、コンソールからプログラムを実行するオプションはまったく受け入れられます。
今日は以上です。 次の記事では、言語構成の研究に直接進みます。 私はその回答が間違いないことを確信しており、それに焦点を当てます。
ご清聴ありがとうございました!