Corrections on Python3 page

This commit is contained in:
qzhangjhu 2018-02-28 10:08:29 -05:00 committed by GitHub
parent 9f33f260dc
commit 50f93a94d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -790,11 +790,11 @@ class Superhero(Human):
# This calls the parent class constructor: # This calls the parent class constructor:
super().__init__(name) super().__init__(name)
# overload the sing method # override the sing method
def sing(self): def sing(self):
return 'Dun, dun, DUN!' return 'Dun, dun, DUN!'
# add an additional class method # add an additional instance method
def boast(self): def boast(self):
for power in self.superpowers: for power in self.superpowers:
print("I wield the power of {pow}!".format(pow=power)) print("I wield the power of {pow}!".format(pow=power))
@ -817,7 +817,7 @@ if __name__ == '__main__':
# Calls parent method but uses its own class attribute # Calls parent method but uses its own class attribute
print(sup.get_species()) # => Superhuman print(sup.get_species()) # => Superhuman
# Calls overloaded method # Calls overridden method
print(sup.sing()) # => Dun, dun, DUN! print(sup.sing()) # => Dun, dun, DUN!
# Calls method from Human # Calls method from Human
@ -872,7 +872,7 @@ class Batman(Superhero, Bat):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
# Typically to inherit attributes you have to call super: # Typically to inherit attributes you have to call super:
#super(Batman, self).__init__(*args, **kwargs) # super(Batman, self).__init__(*args, **kwargs)
# However we are dealing with multiple inheritance here, and super() # However we are dealing with multiple inheritance here, and super()
# only works with the next base class in the MRO list. # only works with the next base class in the MRO list.
# So instead we explicitly call __init__ for all ancestors. # So instead we explicitly call __init__ for all ancestors.
@ -901,7 +901,7 @@ if __name__ == '__main__':
# Calls parent method but uses its own class attribute # Calls parent method but uses its own class attribute
print(sup.get_species()) # => Superhuman print(sup.get_species()) # => Superhuman
# Calls overloaded method # Calls overridden method
print(sup.sing()) # => nan nan nan nan nan batman! print(sup.sing()) # => nan nan nan nan nan batman!
# Calls method from Human, because inheritance order matters # Calls method from Human, because inheritance order matters