也许是一个愚蠢的问题:如何__init__在编写C扩展时为特殊函数指定docstring ?对于普通方法,方法表提供了文档字符串.当我尝试帮助时,会显示以下自动生成的文档(myclass):
__init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature
Run Code Online (Sandbox Code Playgroud)
但这是我想要覆盖的.
我试图动态生成一些类定义(用于包装C++扩展).以下描述符工作正常,除非我尝试使用help()访问字段的docstring时,它为描述符而不是自己的字段提供默认文档.但是当我做帮助(classname)时,它会检索传递给描述符的docstring:
class FieldDescriptor(object):
def __init__(self, name, doc='No documentation available.'):
self.name = name
self.__doc__ = doc
def __get__(self, obj, dtype=None):
if obj is None and dtype is not None:
print 'Doc is:', self.__doc__
return self
return obj.get_field(self.name)
def __set__(self, obj, value):
obj.set_field(self.name, value)
class TestClass(object):
def __init__(self):
self.fdict = {'a': None, 'b': None}
def get_field(self, name):
return self.fdict[name]
def set_field(self, name, value):
self.fdict[name] = value
fields = ['a', 'b']
def define_class(class_name, baseclass):
class_obj = type(class_name, (baseclass,), {})
for field in fields: …Run Code Online (Sandbox Code Playgroud) 我们一直在考虑购买支持3D的LCD显示器以及具有3D立体视觉功能的显卡(ATI Radeon 5870或更高版本)的机器.这是为了显示我们使用OpenGL在3D中渲染的一些科学数据.现在我们可以期待GPU,显示器和快门眼镜处理立体显示器还是我们需要修改渲染程序?如果有针对3D立体显示器的图形编程的特定技术,将非常感谢一些教程链接.
我对这个问题的正确论坛有点不确定.它介于理论之间.sci./math和编程.
我使用Mersenne-Twister生成伪随机数.现在,从给定的种子开始,我想跳到序列中的第n个数字.
我已经看到了这个:http://www-personal.umich.edu/~wagnerr/MersenneTwister.html,一个方案可能如下:
假设,我只需要来自特定种子s的完整随机序列中的前N个数字.
我将序列分成p个子序列,遍历所有N个数字,并在每个子序列的开头保存随机数生成器的状态向量.
现在要达到第n个数,我将看到n落在第k个子序列中,我将加载该子序列的状态向量并生成m个连续的随机数,其中第k个子序列中的第m个数是与完整序列中的第n个数相同(n = m +(k-1)*N/p).
但状态向量是624 x 4字节长!我想知道是否几乎可以跳转到mersenne-twister生成的序列中的任意元素.
python ×2
3d ×1
algorithm ×1
descriptor ×1
docstring ×1
opengl ×1
python-c-api ×1
random ×1
stereoscopy ×1