self
self,通常用作类的实例方法的第一个参数,它始终表示类的调用对象/实例.
super()
super()引用父类的对象.它在方法重写的情况下很有用,在包括C,Java等多种编程语言的情况下也是有用的.在Java中,super()用于调用父类的构造函数.
请看下面的小例子.
class TopClass(object):
def __init__(self, name, age):
self.name = name;
self.age = age;
def print_details(self):
print("Details:-")
print("Name: ", self.name)
print("Age: ", self.age)
self.method()
def method(self):
print("Inside method of TopClass")
class BottomClass(TopClass):
def method(self):
print("Inside method of BottomClass")
def self_caller(self):
self.method()
def super_caller(self):
parent = super()
print(parent)
parent.method()
child = BottomClass ("Ryan Holding", 26)
child.print_details()
"""
Details:-
Name: Ryan Holding
Age: 26
Inside method of BottomClass
"""
parent = TopClass("Rishikesh Agrawani", 26)
parent.print_details()
"""
Details:-
Name: Rishikesh Agrawani
Age: 26
Inside method of TopClass
"""
child.self_caller()
child.super_caller()
"""
Inside method of BottomClass
, >
Inside method of TopClass
"""