如何string
使用 Python__new__
方法创建一个新对象,以便字符串对象也应该具有类属性。
例如,我在 Maya 中对此进行了测试:
class A(object):
def __new__(str, *args, **kwargs):
return super(A, str).__new__(str)
def __init__(self, obj):
self.obj =str(obj)
def hai(self):
print 'hai new obj. you are not string object. you are only cls object'
objA =A('object01')
objA.hai()
结果:'hai new obj. 你不是字符串对象。你只是 cls 对象'
objA
结果:< main .A object at 0x22799710>
我已经用 (PyMel) 的 PyNode 类进行了相同的测试
objB =PyNode('object01')
objB
结果:nt.Transform(u'object01')
但是 PyNode 对象给出了一个 unicode 或 string 对象。这意味着objB
可以直接用作字符串或unicode,但objA
不能那样使用
我怎样才能得到类似objB
输出的东西?