在调用super()之前是否存在要进行某些处理的情况?
这是一个人为的例子.有更好的例子吗?这被认为是pythonic吗?
class Base(object):
def __init__(self, name):
print "Base %s created" % name
self._name = name
class UpperBase(A):
""" Similar to base but the name is in uppercase. """
def __init__(self, name):
name = name.upper()
super(UpperBase, self).__init__(name)
Run Code Online (Sandbox Code Playgroud)
Gab*_*aru 36
有时您需要在调用之前验证参数super()
:
class UpperBase(Base):
def __init__(self, name):
if not name_valid(name):
raise ValueError()
super(UpperBase, self).__init__(name)
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这不会是pythonic,因为这是最简单的方法,而且很简单.另外,阅读@JHSaunders的评论,他提出了一个很好的观点.
归档时间: |
|
查看次数: |
4882 次 |
最近记录: |