1

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

class HelloWorld(object):
    pass

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

例如:

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

1 回答 1

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用户可能会将其传递给某些函数)。

于 2012-10-23T04:10:28.323 回答