如何限制用户创建python对象?

时间:2011-09-27 09:22:26

标签: python

我有一个域对象User。我正在寻找一些限制其他python类的方法来创建`user'类型。

1 个答案:

答案 0 :(得分:1)

你可以使用闭包来隐藏远离代码的对象,但是请接受在Python中执行它被认为是非常不敏感的,并且几乎违背了语言的哲学。您应该记录正确的行为,而不是防范用户。

class KittenFactory(object):
    def __create_teh_secret_objectz(self):
        class Kitten(object):
            i_can_haz_invisible = True
        return Kitten()

愿意程序员仍能copy()或获取type()并手动实例化。

换句话说:不要去那里。