object
关键字是否具有除以下类之外的任何用途:
class HelloWorld(object):
pass
因为在为object
分配变量时,似乎没有用它(没有variable.__dict__
或其他任何东西)。
例如:
x=object()
x.anything="foo"#<----- throws an error
答案 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
不同,用户可能会将其传递给某些函数。)