专业做互联网招聘的网站有哪些,宣传片视频创意,自己建网站要什么,微商城有哪些平台面向对象中一个重要的特性就是继承#xff0c;继承的好处就是提高代码的重用率#xff0c;减少不必要的代码。继承是父类与子类的关系#xff0c;当子类继承了父类后#xff0c;就具有了父类的所有变量和方法。在python中定义继承的语法是#xff1a;class 派生类名(基类名…面向对象中一个重要的特性就是继承继承的好处就是提高代码的重用率减少不必要的代码。继承是父类与子类的关系当子类继承了父类后就具有了父类的所有变量和方法。在python中定义继承的语法是class 派生类名(基类名)。在使用python的继承时需要注意一下几点(1)当父类定义了__init__()初始化方法时子类不会自动调用而需要我们显示调用如果我们要扩展父类的变量可以在__init__()添加参数。(2)在调用基类的方法时需要加上基类的类名前缀且需要带上self参数变量。(3)Python总是首先查找对应类型的方法如果它不能在派生类中找到对应的方法它才开始到基类中逐个查找。举例说明父类#BaseModleclass BaseClass:def __init__(self,name,age):self.namenameself.ageageprint (baseclass is inited)def speak(self,sth):print(Baseclass is speaking :%s%sth);if (__name__‘__main__‘):print(run by myself)BaseClass()else :print(i am import module)‘‘‘python中的__name__属性它表示当我们执行这个模块时看它是否是用户独立执行的还是通过import导入后执行的例如在这个例子中我们执行派生模块SubModuleBaseModulde是导入的模块因此输出了i am import module。每个Python模块都有它的__name__如果它是‘__main__‘这说明这个模块被用户单独运行我们可以进行相应的恰当操作。‘‘‘派生类#SubModuleimport BaseModuleclass SubClass(BaseModule.BaseClass):#需要加上模块名否则出错def __init__(self,name,age,salary):BaseModule.BaseClass.__init__(self,name,age)#显示调用父类的初始化函数并扩展变量self.salarysalaryprint(subClass is inited)def talk(self ,sth):print(%s is talking %s%(self.name,sth))BaseModule.BaseClass.speak(self,sth)#调用父类方法时需要指明模块名.父类名if(__name____main__):print(run by myself)sSubClass(yping,25,1000)s.talk(a story)运行结果i am import modulerun by myselfbaseclass is initedsubClass is initedyping is talking a storyBaseclass is speaking :a story结果分析这里首先输出“i am import module”说明程序是先从(__name____main__)判断开始首先执行父类的(__name____main__)判断由于现在不是直接执行BaseModule模块因此输出“i am import module”接着执行子类的入口函数实例化了一个SubClass类首先父类初始化然后派生类初始化接着执行talk()函数再调用父类speak()函数。原文http://ypyu1989.blog.51cto.com/6786671/1539040