質問

皆様にお伝えしたくて書き込みC extensionsていただきたいと思いますように、署名の方法は見えます。

static PyObject* foo(PyObject *self, PyObject *args) {

    /* blabla [...] */

}

PyDoc_STRVAR(
    foo_doc,
    "Great example function\n"
    "Arguments: (timeout, flags=None)\n"
    "Doc blahblah doc doc doc.");

static PyMethodDef methods[] = {
    {"foo", foo, METH_VARARGS, foo_doc},
    {NULL},
};

PyMODINIT_FUNC init_myexample(void) {
    (void) Py_InitModule3("_myexample", methods, "a simple example module");
}

今の場合(後のビルで...)を負荷時のモジュールを見て、そのユーザー評価:

>>> import _myexample
>>> help(_myexample)

取得します:

Help on module _myexample:

NAME
    _myexample - a simple example module

FILE
    /path/to/module/_myexample.so

FUNCTIONS
    foo(...)
        Great example function
        Arguments: (timeout, flags=None)
        Doc blahblah doc doc doc.

すればよいのでしょうかも特定できることに交換 foo(...) による foo(タイムアウト、フラグ=None)

したらよいです。いかがですか?

役に立ちましたか?

解決

私の通常のアプローチを見れば分からないことこのようには:"を使用して有効にする。

基本的には、その標準モジュールはpythonのような特徴が可能です。の源例えばこちら)すべきですが、実はもは標準モジュールの追加の試作後の自動出力されます。このように:

torsten@pulsar:~$ python2.6
>>> import fcntl
>>> help(fcntl.flock)
flock(...)
    flock(fd, operation)

    Perform the lock operation op on file descriptor fd.  See the Unix [...]

ように上流には使用しないような特徴で、私の想定ではございません。:-)

大丈夫、チ電流python3k源はまだまだ。この署名が発生する pydoc.py のpython源はこちら pydoc.py.関係を抜粋したか線1260:

        if inspect.isfunction(object):
            args, varargs, varkw, defaults = inspect.getargspec(object)
            ...
        else:
            argspec = '(...)'

.プロジェクトを作成するisfunction trueの場合、ただちにパージを行うオブジェクトの文書は依頼はPythonの機能です。ものC実装機能と考えられるbuiltinsて得に探しましょ name(...) としての出力に出力します。

他のヒント

で7年 ができる署名のためのC-拡張機能とクラス.

Python自体の 引数のクリニック 動作するフェースの通称です。その力学を __text_signature__ することに注意して下さいintrospected(例えば、 help).@MartijnPieters説明このプロセスなど この答え.

すが、実際には、引数の診療所からpythonというダイナミックなファッションが私は好きのマニュアル方法:追加の署名のdocstring:

お場合:

PyDoc_STRVAR(
    foo_doc,
    "foo(timeout, flags=None, /)\n"
    "--\n"
    "\n"
    "Great example function\n"
    "Arguments: (timeout, flags=None)\n"
    "Doc blahblah doc doc doc.");

また重この私のパッケージ: iteration_utilities/src.いることを示した利用の拡張機能によって明らかにされたこのパッケージには:

>>> from iteration_utilities import minmax
>>> help(minmax)
Help on built-in function minmax in module iteration_utilities._cfuncs:

minmax(iterable, /, key, default)
    Computes the minimum and maximum values in one-pass using only
    ``1.5*len(iterable)`` comparisons. Recipe based on the snippet
    of Raymond Hettinger ([0]_) but significantly modified.

    Parameters
    ----------
    iterable : iterable
        The `iterable` for which to calculate the minimum and maximum.
[...]

のdocstringのためにこの関数を定義して このファイル.

現だけではないんだよこ ができないからpython < 3.4 きを追いかけなければならない一定の規則に従:

  • 必要なものを含 --\n\n 後の署名を定義する。

  • は十分にコミュニケーションの第一線のdocstring.

  • この署名有効にする必要がある foo(a, b=1, c) 失敗しない)"を定義することができ位置引数の後に引数とデフォルトです。

  • できるだけで一署名を表します。のではない)をご利用の場合のようなもの:

    foo(a)
    foo(x, a, b)
    --
    
    Narrative documentation
    
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top