西樵网站开发,中信建设有限责任公司陈晓佳简历,佛山哪里有网站开发,证券公司如何拉客户今天咱们聊点啥呢#xff1f;要不还是聊点Python基础的东东吧#xff0c;大家已经都知道啦#xff0c;Python呢是一种面向对象的脚本编程语言#xff0c;那面向对象的编程语言呢#xff0c;都会支持面向对象的三大特性#xff0c;你知道是哪三大特性吗#xff1f;当然是…今天咱们聊点啥呢要不还是聊点Python基础的东东吧大家已经都知道啦Python呢是一种面向对象的脚本编程语言那面向对象的编程语言呢都会支持面向对象的三大特性你知道是哪三大特性吗当然是咱们常常挂在嘴边的封装、继承和多态啦那今天呢咱们就先说个用得最多的继承吧好啦就重点讲讲Python相关的类的继承啦好啦那咱们就开始聊聊吧Python类的定义首先开门见山说一下哦Python的类的继承是支持多继承机制的。那Python的类的继承是怎样的呢其实呢Python的类继承很简单哦就是在定义子类时将多个父类放在子类后面的圆括号中就可以啦语法格式如下所示哦class SubClass (SuperClass1, SuperClass2, ...)看到了吗Python类的继承定义的格式是不是很简单哦只要在子类的后面加个圆括号然后在括号里面添加上所要继承的父类就可以啦其实呢Python类和其他面向对象语言是一样滴如果不显示定义继承一个父类也是有个默认的公共父类哦它就是object类所以呀object类是所有Python类的父类哦有两种可能哦一种可能是其直接父类另一种可能呢当然就是其间接父类啦其实呢如果从Python子类和其父类两个角度来看的话是两种不同的效果哦子类呢就相当于对父类进行了扩展啦而父类呢则是派生出子类啦好啦为了让大家对Python类的继承有深入的理解咱们还是老规矩啦举个“栗子”好啦看到了吗上面的“栗子”程序中呢定义了两个父类分别是Animal类和Pig类哦然后呢定义了一个子类Peggy它继承了两个父类这个Peggy子类呢并木有定义自己的程序单元哦所以就用pass代替啦这样当主程序创建了Peggy类对象后呢就可以访问Peggy类中的对象啦分别是继承自父类Animal的info()方法和继承自Pig类的taste()方法这就是继承的强大作用就是相当于子类Peggy扩展了父类Animal和Pig哦。好啦咱们运行一下上面这个“栗子”看看结果吧Python的多继承前面咱们说啦Python是支持多继承的但是呢还是不建议大家用哦因为多继承干的活单继承都能干哦而且单继承在流程和思路来说更为清晰和易懂哦到这可能大家有问题啦人家Python自身都支持多继承啦你为啥还不推荐大家用呢存在和支持就是有道理的啊好啦为了解答大家的这个疑惑咱们就来聊聊多继承的弊端吧首先呢咱们来假定一个场景就是哈当一个子类有多个直接父类也就是多继承的话这个子类呢就会继承得到它的所有父类的方法哦这是大家所清楚的但是呢如果这个子类所继承的多个父类中存在同名的方法时呢这时会出现什么情况呢在这呢俺先卖个关子咱们还是老惯例举个“栗子”让大家看看啦这样印象更深刻哦好啦看到上面这个“栗子”了吗咱们分别定义了两个父类SuperClass1和SuperClass2这两个父类呢有个共同点就是包含相同的info()方法哦这是咱们再定义一个继承了这两个父类的子类SubClass这时呢咱们再主程序中创建了子类SubClass的对象然后用子类对象sc去调用info()方法你们猜这是会发生什么情况呢可以运行一下看看哦看到了吗运行后输出的是父类SuperClass1中的info()方法在这先不给大家解释哦咱们修改一下上面的“栗子”将SubClass子类所继承的两个父类的顺序调换一下看看结果如何哦程序就编程如下样式啦将两个父类的继承顺序进行了位置调换哦这时咱们再运行看看结果如何哦看到了吗这时输出的是父类SuperClass2中的info()方法哦好啦到这呢可能已经由朋友看明白了其实呢在Python的多继承中如果子类所继承的父类中出现了相同的方法这时就会和子类所继承的父类的顺序有关哦排在前面的父类中的方法就会遮盖排在后面的父类中的方法哦当然啦如果子类所继承的父类中没有相同的方法就和父类的顺序没有关系啦因为子类所调用的父类的方法会按所继承的父类的顺序查找这时父类因为没有相同的方法也就是方法是唯一的它就是找到这个方法所在的父类然后进行调用哦对于这点大家一定要牢记哦好啦关于Python多继承的弊端相信大家通过上面的介绍已经深刻理解了哈因此呢还是建议大家尽量少用多继承哦好啦今天关于Python的类继承相关的东东就先和大家聊这么多吧咱们下次再见哦[再见]敬请关注“品位集结号”为您带来意外的小知识[比心][握手][比心]