當前位置:成語大全網 - 新華字典 - Python 2.7 如何自定義壹個CLASS風格的字典類型?

Python 2.7 如何自定義壹個CLASS風格的字典類型?

import operator

class NewDict( dict ):

default = None

def __init__( self ,init_dict ,default ):

self.default = default

for key ,value in init_dict.items( ):

if isinstance( value ,dict ):

init_dict[ key ] = self.__class__( value ,default )

return super( NewDict ,self ).__init__( init_dict )

def __missing__( self ,key ):

return self.default

def __getattr__( self ,key ):

return operator.getitem( self ,key )

def __setattr__( self ,key ,value ):

if key in dir( self ):

return super( NewDict ,self ).__setattr__( key ,value )

return operator.setitem( self ,key ,value )