2012-12-30 58 views
2

是可能的子類python的內置開放?我間歇性地收到以下錯誤:Python - 子類打開?

class Open(open): 
    pass 

x = mymodule.Open() 

類型錯誤:錯誤調用 不能創建「builtin_function_or_method」實例

回答

6

open不是一個類,它是一個函數。但是,file對象是可以繼承的類型。

type(open) 
# OUT: <type 'builtin_function_or_method'> 
type(file) 
# OUT: <type 'type'> 
2

open元類基地的時候是一個函數,不是類。你只能子類。