1

ほよ、

TAが提供するものはひどいので、私のクラスがワイヤーごとに作成している架空のコンピューター用のアセンブラーを書き始めたところです。Pythonを実際に使用したことはなく(ただし、基本的な構文は知っている)、Pythonを選択しました。

私のお気に入りの能力は、今書いたメソッドをシェルに貼り付けてから、手動で単体テストする方法です(IDLEを使用しています)。

Pythonコード内のすべてのシンボルをシェルに自動的に公開する方法があるかどうか疑問に思っているので、毎回(特にコードに変更を加えたときに)コードをコピーしてシェルに貼り付けることなくデバッグできます。 。

乾杯

4

2 に答える 2

1

コードが含まれているモジュールをインポートできます。これにより、モジュール名の前に付けられたすべてのシンボルが公開されます。

これを行う最も簡単な方法の詳細は、オペレーティングシステムによって異なりますが、いつでも実行できます。

>>> sys.path.append('/path/to/directory/that/my/module/is/in/')
>>> import mymod #.py

後で変更を加えた後、あなたはただ行うことができます

>>>> reload(mymod)

シンボルは新しい値を参照します。への呼び出し後に更新されないという意味でfrom mymod import foo壊れることに注意してください。したがって、を使用してください。reloadfooreloadmymod.foo

PYTHONPATH基本的に、トリックは、環境変数上のファイルを含むディレクトリを取得することです。これは、たとえばLinuxの.bashrcから実行できます。別のオペレーティングシステムでそれを実行する方法がわかりません。私はvirualenvを使用し、ラッパーworkonコマンドが優れているので、入力するだけworkon fooで、Pythonパスに必要なディレクトリを追加するシェルスクリプト(作成する必要があります)を実行します。

しかし、始めたばかりのとき、PYTHONPATHenv変数に永続的に追加し、そこに書き込んだモジュールを保持しました。

別の方法は、-iオプションを使用してモジュールを実行することです。

$ python -i mymod.py

これにより、モジュールが最後まで実行され、インタプリタに残ります。これはIDLEではありませんが、少し粗いですが、モジュールの名前空間にいます(つまり、モジュールの名前空間はグローバル名前空間です)。

于 2010-09-20T00:09:53.857 に答える
0

IPythonを確認してください。強化されたインタラクティブなPythonシェルです。スクリプトを%run作成すると、すべてのグローバルオブジェクトがシェルに自動的に公開されます。非常に使いやすく、強力です。それを使用してコードをデバッグすることもできます。

たとえば、スクリプトが次の場合:

import numpy as np
def f(x):
    return x + 1

次のことができます。

%run yourScript.py
x = np.eye(4)
y = f(x)
于 2010-09-20T00:21:56.563 に答える