2012-10-23 111 views
1

是否object關鍵字有什麼用途除了像類:分配變量對象蟒蛇

class HelloWorld(object): 
    pass 

由於分配變量時object看來,如果沒有使用它(無variable.__dict__或任何東西) 。

例如:

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

只是爲了澄清,它不是一個關鍵字,而是一個基類 - 幾乎就像一個接口,所有對象都隱式地繼承。 –

+1

在這裏解釋,http://stackoverflow.com/questions/4015417/python-class-inherits-object – specialscope

回答

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,是真的,用戶可能會傳入一些函數)。

+0

+1,這是一個很好的竅門。 – nneonneo