問題タブ [pyobject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 関数が添付された PyObject を作成し、Python に戻る
どうすればPyObject
C++ で a を作成し、それを Python に返すことができるのだろうか。
残念ながら、ドキュメントはそれについてあまり明確ではありません。ないので、構造体を介して割り当てて初期化すればよいのではないPyObject_Create
かと思います。sizeof(PyObject)
PyObject_Malloc
今のところ、関数が添付されたオブジェクトのみが必要です。
python - Cpython はその型オブジェクトをどのように実装しますか?つまり、型の型は常に型です?
Python のすべてがオブジェクトであり、これらのオブジェクトの「タイプ」(またはクラス) が「タイプ」であることを理解しています。それに型の型も型そのもの。(ここでうまく説明されているように)
私が理解していないのは、この循環参照がどのように実装されているかです。だから私はここを見ました。私が探しているものを説明するかもしれない部分を引用するには:
これはタイプのタイプ、つまりそのメタタイプです。これは PyObject_HEAD_INIT マクロへの引数によって初期化され、その値は通常 &PyType_Type になります。ただし、(少なくとも) Windows で使用可能でなければならない動的にロード可能な拡張モジュールの場合、コンパイラはこれが有効な初期化子ではないと文句を言います。したがって、規則では、PyObject_HEAD_INIT マクロに NULL を渡し、モジュールの初期化関数の開始時にこのフィールドを明示的に初期化してから、他の処理を実行します。これは通常、次のように行われます。
C は OOP ベースではないため、クラスを作成するときに、オブジェクト自体を独自のクラスとして指す属性を持つことができることを理解しています。ここでの私の理解不足が私を混乱状態に陥らせたと確信しています.これが他のスクリプト言語の設計における通常の慣行なのか、それともある種のパターンなのかを誰か指摘できますか?誰かがこれに光を当てることができれば.私はそれに感謝します。
編集:ここで次のことがわかりました:
これは型オブジェクトの型オブジェクトです。Python レイヤーの type および types.TypeType と同じオブジェクトです。
それはどうですか?
python - 移入された c 構造体を python に渡すにはどうすればよいですか (ctypes なし)
ctypes を使用せずに ac 構造を python に渡すにはどうすればよいですか?
stats_res_t
Python に返そうとしている構造体へのポインタがあります。
私はの線に沿って何かを試しています
しかし、それはpythonでsegfaultを引き起こします。
を使用して、移入された構造を python に渡すことは可能PyObject
ですか?
python - PyObject が None かどうかを確認する
PyObject
私が持っているa が であるかどうかを確認したいだけですNone
。関数から返されるものはすべて NULL ポインターになると素朴に予想してNone
Pyobject *
いましたが、そうではないようです。
PyObject *
では、私のオブジェクトがオブジェクトを指しているかどうかを確認するにはどうすればよいNone
ですか?
のようなマクロがあることは知っていますがPyInt_Check(PyObject *)
、 のようなものは見つかりませんでしPyNone_Check
た。PyObject
と の等価性をチェックするだけでよいと思ってPy_None
いましたが、このライブラリで等価性を比較する方法さえわからないことがわかりました。
python - エラー: タイプ 'PyObject' (別名 '_object') の値は文脈上 'bool' に変換できません
PythonモジュールをCに.として渡していますPyObject
。次の形式を使用して、C コードでこの値が NONE かどうかを確認したいと思います。
次のエラーが表示されます。Python の if 関数の動作と同様に、PyObject からブール値に変換するにはどうすればよいですか。tmp
がboost::python::object
変数の場合、このコマンドは期待どおりに機能することに注意してください。