当前位置: 首页 > news >正文

常德政府门户网站肇庆网站建设制作

常德政府门户网站,肇庆网站建设制作,web开发平台,聚名网名七、类的继承 1、定义类的继承 说到继承,你一定会联想到继承你老爸的家产之类的。 类的继承也是一样。 比如有一个旧类,是可以算平均数的。然后这时候有一个新类,也要用到算平均数,那么这时候我们就可以使用继承的方式。新类继…

七、类的继承

1、定义类的继承

说到继承,你一定会联想到继承你老爸的家产之类的。

类的继承也是一样。

比如有一个旧类,是可以算平均数的。然后这时候有一个新类,也要用到算平均数,那么这时候我们就可以使用继承的方式。新类继承旧类,这样子新类也就有这个功能了。

通常情况下,我们叫旧类为父类,新类为子类。

首先我们来看下类的继承的基本语法:

class ClassName(BaseClassName):<statement-1>...<statement-N>

在定义类的时候,可以在括号里写继承的类,如果不用继承类的时候,也要写继承 object 类,因为在 Python 中 object 类是一切类的父类。

当然上面的是单继承,Python 也是支持多继承的,具体的语法如下:

class ClassName(Base1,Base2,Base3):<statement-1>...<statement-N>

多继承有一点需要注意的:若是父类中有相同的方法名,而在子类使用时未指定,python 在圆括号中父类的顺序,从左至右搜索 , 即方法在子类中未找到时,从左到右查找父类中是否包含方法。

那么继承的子类可以干什么呢?

继承的子类的好处:

  • 会继承父类的属性和方法
  • 可以自己定义,覆盖父类的属性和方法

2、调用父类的方法

一个类继承了父类后,可以直接调用父类的方法的,比如下面的例子,UserInfo2 继承自父类 UserInfo ,可以直接调用父类的 get_account 方法。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-class UserInfo(object):lv = 5def __init__(self, name, age, account):self.name = nameself._age = ageself.__account = accountdef get_account(self):return self.__accountclass UserInfo2(UserInfo):passif __name__ == '__main__':userInfo2 = UserInfo2('两点水', 23, 347073565);print(userInfo2.get_account())

3、父类方法的重写

当然,也可以重写父类的方法。

示例:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-class UserInfo(object):lv = 5def __init__(self, name, age, account):self.name = nameself._age = ageself.__account = accountdef get_account(self):return self.__account@classmethoddef get_name(cls):return cls.lv@propertydef get_age(self):return self._ageclass UserInfo2(UserInfo):def __init__(self, name, age, account, sex):super(UserInfo2, self).__init__(name, age, account)self.sex = sex;if __name__ == '__main__':userInfo2 = UserInfo2('两点水', 23, 347073565, '男');# 打印所有属性print(dir(userInfo2))# 打印构造函数中的属性print(userInfo2.__dict__)print(UserInfo2.get_name())

最后打印的结果:

这里就是重写了父类的构造函数。

4、子类的类型判断

对于 class 的继承关系来说,有些时候我们需要判断 class 的类型,该怎么办呢?

可以使用 isinstance() 函数,

一个例子就能看懂 isinstance() 函数的用法了。

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-class User1(object):passclass User2(User1):passclass User3(User2):passif __name__ == '__main__':user1 = User1()user2 = User2()user3 = User3()# isinstance()就可以告诉我们,一个对象是否是某种类型print(isinstance(user3, User2))print(isinstance(user3, User1))print(isinstance(user3, User3))# 基本类型也可以用isinstance()判断print(isinstance('两点水', str))print(isinstance(347073565, int))print(isinstance(347073565, str))

输出的结果如下:

True
True
True
True
True
False

可以看到 isinstance() 不仅可以告诉我们,一个对象是否是某种类型,也可以用于基本类型的判断。

http://www.yidumall.com/news/60611.html

相关文章:

  • 网站建设注意事项 南京软文网站推广法
  • epanel wordpress搜狗seo排名软件
  • 日本代购网站怎么做的seo推广优化平台
  • 做动态网站怎么配置系统dsn百度浏览器网页版入口
  • 网站定制 天津台湾新闻最新消息今天
  • wordpress erp网络优化工程师是做什么的
  • 沈阳工务轨道建设网站如何让百度搜索排名靠前
  • 网站前置审批查询广东河源最新疫情
  • 织梦dedecms微信微网站模板百度登录个人中心
  • 河南股票配资网站建设网店运营实训报告
  • 网站引进搜索引擎怎么做抖音seo优化怎么做
  • 如何维护给做网站的客户如何建立网站平台
  • 购物网路易百度推广优化
  • 二级网站建设东莞seo排名外包
  • 宿迁房产交易中心官网长沙百度推广优化排名
  • 网站建设设计规范方案什么平台可以推销自己的产品
  • 暖色调 网站长尾词优化外包
  • 网站上的动图axure怎么做产品市场推广方案
  • 市场调研公司和咨询公司seo是什么意思新手怎么做seo
  • wordpress引用b站视频百度网页游戏大厅
  • 柳州网站推广最好的公司长沙服务好的网络营销
  • 有移动端网站 怎么做app搭建网站基本步骤
  • 惠州做网站哪家公司好怎么在百度上发布广告
  • 青海网站制作软文网站模板
  • 哪个公司建网站最好代写文章多少钱
  • 建立网站视频教程天津企业seo
  • 免费软件安装网站seo报价单
  • 新锐媒体网站建设方案网站关键词优化软件
  • 西昌市做网站的青岛seo排名公司
  • 南汇网站建设中山百度推广公司