将变量赋给对象python

时间:2012-10-23 04:03:42

标签: python object python-2.7

object关键字是否具有除以下类之外的任何用途:

class HelloWorld(object):
    pass

因为在为object分配变量时,似乎没有用它(没有variable.__dict__或其他任何东西)。

例如:

x=object()
x.anything="foo"#<----- throws an error

1 个答案:

答案 0 :(得分:3)

一种可能的用途是用于标记值 - 您想要具有无法偶然复制的唯一值的事物。例如:

NOT_SET = object()

def some_function(arg=NOT_SET):
    if arg is NOT_SET:
        # the user didn't pass in a value for 'arg'
     else:
        # the user passed in a value for 'arg'

因为每个对象实例都具有唯一标识,所以if语句的条件仅在用户未传入值时才为真(与参数的公共默认值None不同,用户可能会将其传递给某些函数。)