查看python代码时,提示real signature unknown; restored from __doc__是什么原因
时间: 2024-04-07 18:28:28 浏览: 121
这个提示通常出现在使用C语言编写Python扩展模块的情况下。它的意思是Python解释器无法确定函数的实际签名,因此使用了从文档字符串中恢复的签名。
这通常是因为在编写扩展模块时,没有正确定义函数的参数和返回类型。可以通过在函数定义中添加正确的类型注释或使用Cython等工具来解决这个问题。还可以使用Py_BuildValue和PyArg_ParseTuple等函数来处理参数和返回值,并确保它们与函数原型匹配。
相关问题
class QRegExpValidator(QValidator): """ QRegExpValidator(parent: typing.Optional[QObject] = None) QRegExpValidator(rx: QRegExp, parent: typing.Optional[QObject] = None) """ def childEvent(self, *args, **kwargs): # real signature unknown pass def connectNotify(self, *args, **kwargs): # real signature unknown pass def customEvent(self, *args, **kwargs): # real signature unknown pass def disconnectNotify(self, *args, **kwargs): # real signature unknown pass def isSignalConnected(self, *args, **kwargs): # real signature unknown pass def receivers(self, *args, **kwargs): # real signature unknown pass def regExp(self): # real signature unknown; restored from __doc__ """ regExp(self) -> QRegExp """ pass def sender(self, *args, **kwargs): # real signature unknown pass def senderSignalIndex(self, *args, **kwargs): # real signature unknown pass def setRegExp(self, rx): # real signature unknown; restored from __doc__ """ setRegExp(self, rx: QRegExp) """ pass def timerEvent(self, *args, **kwargs): # real signature unknown pass def validate(self, input, pos): # real signature unknown; restored from __doc__ """ validate(self, input: str, pos: int) -> Tuple[QValidator.State, str, int] """ pass def __init__(self, *__args): # real signature unknown; restored from __doc__ with multiple overloads pass 这段代码是在干什么
这段代码定义了一个名为QRegExpValidator的类,它是QValidator的子类。它提供了一些用于验证输入的正则表达式功能。
该类有两个构造函数,可以选择传入一个父对象和一个QRegExp对象。它还实现了一些事件处理函数,如childEvent、connectNotify、customEvent、disconnectNotify、isSignalConnected、receivers、sender、senderSignalIndex和timerEvent。
此外,它还提供了一些公共方法,如regExp、setRegExp和validate。其中,regExp方法返回一个QRegExp对象,setRegExp方法用于设置要使用的正则表达式,validate方法用于验证输入字符串并返回验证结果。
class Display(__pybind11_builtins.pybind11_object): # no doc def print(self, idx, s): # real signature unknown; restored from __doc__ """ print(self: _sherpa_ncnn.Display, idx: int, s: str) -> None """ return s def __init__(self, max_word_per_line=60): # real signature unknown; restored from __doc__ """ __init__(self: _sherpa_ncnn.Display, max_word_per_line: int = 60) -> None """ pass
这是一个名为`Display`的类,继承自`__pybind11_builtins.pybind11_object`。该类有一个未提供文档的方法`print`,该方法接受两个参数`idx`和`s`,返回类型为`None`。该类还有一个带有一个可选参数`max_word_per_line`的构造函数`__init__`,该参数默认值为60。构造函数没有实现任何逻辑。
阅读全文