1.协程(Coroutine)
2.@修饰符(decorator)
3. @classmethod和@staticmethod
4.*arg,**arg
5.继承/多重继承中的参数传递
http://canx.me/2011/12/%E4%B8%80%E4%BA%9Bpython/
关于继承/多重继承中的参数传递
class Service(object):
def __init__(self, host, binary, topic, manager, report_interval=None,
periodic_interval=None, *args, **kwargs):
print 'Initializing Service'
print kwargs
print args
super(Service, self).__init__(*args, **kwargs)
print 'Service: ' + binary, args, kwargs
class Color(object):
def __init__(self, color='red', **kwargs):
print 'Initializing Color'
self.color = color
print kwargs
super(Color, self).__init__(**kwargs)
print 'Color: ', kwargs
class ColoredService(Service, Color):
def __init__(self, *args, **kwds):
print 'Initializing Colored Service'
super(ColoredService, self).__init__(*args, **kwds)
c = ColoredService('host', 'bin', 'top', 'mgr', 'ivl', color='blue')
输入结果如下所示:
sina@ubuntu:~/TestDir$ python service.py
Initializing Colored Service
Initializing Service
{'color': 'blue'}
()
Initializing Color
{}
Color: {}
Service: bin () {'color': 'blue'}