2017-08-07 6 views
1

私は最近CursesがPythonでどのように動作するかを調べました。私はここでチュートリアルに従った:Curses Programming with Python、と私は正常にコンソール画面のさまざまな場所にテキストを正しく出力するためにコードでうんざりしている。Python curses:モジュール関数とインスタンス関数

私の質問は次のとおりです。 なぜモジュールのいくつかの機能属性が、 curses.noecho() であるが、他の機能は画面オブジェクトの属性である。 sreen_instance.keypad(True)

モジュールではなく、noecho()またはcbreak()のようなものを画面インスタンスに指定することは意味があります。

これが背後にある理由は何ですか?また、関数がモジュールの属性であるか、Cursesライブラリ内のオブジェクトのインスタンスの属性であるかを認識するための一般的なルールはありますか? 「標準画面」と名称「stdscrの」かかわらず

答えて

0

、それは呪いウィンドウ(それはサブウィンドウが存在する場合にトップレベルウィンドウである)です。

属性が呪いレベルのかウィンドウレベルのものが対応する機能が呪いに編成されている方法ですので、です。ほとんどのPythonバインディングは、Cライブラリと同じ名前と同様のパラメータを持ちます(Pythonバインディングでオプションのパラメータを使用できるため、たとえば、、Pythonではwaddstr)。

それがどのように動作するかを確認するには、私は単に呪いCインタフェースを見てみたい:(などwgetch(stdscr)などgetch()としてエイリアスを数える)WINDOW*パラメータがウィンドウとして結合Pythonで実装される使用しています何も属性(または関数)を使用するのに対し、WINDOWパラメータを使用しないパラメータは、curses属性(または関数)になります。

関連する問題