假设我有一组myset可能相同的自定义对象,尽管它们的引用不同(a == b and a is not b).现在,如果我add(a)对集合,Python正确地假定a in myset and b in myset即使len(myset) == 1集合中只有对象.
这很清楚.但现在是否可以仅a使用b?从集合中提取某些值?假设对象是可变的,我想要改变它们,忘记直接引用a.换句话说,我正在寻找myset[b]操作,它将完全返回a集合的成员.
在我看来,类型set不能这样做(比遍历其所有成员更快).如果是这样,至少有一种有效的解决方法吗?
假设我想调试一个带有属性的简单类myattribute.我创建一个repr这样的方法:
class SimpleClass:
def __repr__(self):
return "{0.myattribute}".format(self)
Run Code Online (Sandbox Code Playgroud)
感觉有点多余,所以我更喜欢format直接使用:
class SimpleClass:
__repr__ = "{0.myattribute}".format
Run Code Online (Sandbox Code Playgroud)
......但是失败了IndexError: tuple index out of range.我理解它format不能访问self论点,但我不明白为什么.
我做错了什么,这是CPython限制 - 或者还有什么?
当我使用Tessellation着色器时,我是否必须从我的CPU程序补丁而不是三角形传递?
glDrawArrays(GL_PATCHES, 0, 3); //Works with Tess Shaders
glDrawArrays(GL_TRIANGLES, 0, 3); //Works not with Tess Shaders
Run Code Online (Sandbox Code Playgroud)
什么是补丁完全可视化它?它可以是一个被细分的三角形吗?