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

做爰片在线看网站谷歌sem

做爰片在线看网站,谷歌sem,蒙阴县建设局网站,百度地址如何设置门店地址Python类的继承和方法重写总结python咱们都知道类能够继承,经过继承能够实现代码的复用,使代码看起来更加简洁ide好比:函数Class B(A):Pass定义了一个名为B的类,它继承于A,咱们把B叫作A的子类,A叫作B的超类…

Python类的继承和方法重写总结python

咱们都知道类能够继承,经过继承能够实现代码的复用,使代码看起来更加简洁ide

好比:函数

Class B(A):

Pass

定义了一个名为B的类,它继承于A,咱们把B叫作A的子类,A叫作B的超类(父类)。spa

方法重写对象

当子类定义了一个和超类相同名字的方法时,那么子类的这个方法将覆盖超类相同的方法(或称为重写)继承

先借用两个例子:it

>>> class Bird:

...     def __init__(self):

...         self.hungry = True

...     def eat(self):

...         if self.hungry:

...             print 'Aaaah...'

...             self.hungry = False

...         else:

...             print 'No,thanks!'

...

>>> b = Bird()

>>> dir(b)

>>> b.eat()

Aaaah...

>>> b.eat()

No,thanks!

>>>

这个类定义了鸟的基本功能:吃ast

再定义一个类,SongBird是Bird的子类,SongBird会唱歌class

>>> class SongBird(Bird):

...     def __init__(self):

...         self.sound = 'Squawk!'

...     def sing(self):

...         print self.sound

...

>>> sb = SongBird()

>>> sb.sing()

Squawk!

>>> sb.eat()

Traceback (most recent call last):

File "", line 1, in 

File "", line 5, in eat

AttributeError: SongBird instance has no attribute 'hungry'

>>>

SongBird是Bird的一个子类,他继承了超类的eat方法,但调用时却报错了,提示没有hungry属性,为何会这样呢?awk

缘由是SongBird的构造方法__init__()重写了,新的构造方法里没有任何关于hungry属性的代码。为了达到预期的效果,SongBird的构造方法必须调用父类的构造方法来确保进行基本的初始化。有两种方法能达到这个目的:调用超类的构造方法的未绑定版本,或者使用super函数。

调用超类的构造方法的未绑定版本

>>> class SongBird(Bird):

...     def __init__(self):

...         Bird.__init__(self)

...         self.sound = 'Squawk!'

...     def sing(self):

...         print self.sound

...

SongBird类只添加了一行代码Bird.__init__(self)

看下执行结果

>>> sb = SongBird()

>>> sb.eat()

Aaaah...

>>>

在调用一个实例的方法时,该方法的self参数会被自动绑定到实例上(这称为绑定方法),但若是直接调用类的方法(好比Bird.__init__),就没有实例被绑定,这样的方法称为未绑定方法。

经过将当前的实例做为self参数提供给未绑定方法,SongBird类就能使用其超类构造方法的全部实现。

Super函数

Super函数只能在新式类使用。当前类和对象能够做为super函数的参数使用,调用函数返回的对象的任何方法都是调用超类的方法,而不是当前类的方法。

那么就能够不用在SongBird的构造方法使用Bird,而直接使用super(SongBird,self)注意是逗号,不是.

除此以外,__init__方法能以一种普通的(绑定)方式被调用

>>> __metaclass__ = type

>>> class Bird:

...     def __init__(self):

...         self.hungry = True

...     def eat(self):

...         if self.hungry:

...             print 'Aaaah...'

...             self.hungry = False

...         else:

...             print 'No,thanks!'

...

>>> class SongBird(Bird):

...     def __init__(self):

...         super(SongBird,self).__init__()

...         self.sound = 'Squawk!'

...     def sing(self):

...         print self.sound

...

>>> sb = SongBird()

>>> sb.eat()

Aaaah...

>>> sb.eat()

No,thanks!

http://www.lbrq.cn/news/2600551.html

相关文章:

  • 做网站文件夹都起什么名字西安seo优化排名
  • 简述电子商务网站建设的基本流程百度客户端下载
  • 咪咕动态网站怎么做最近的电脑培训学校
  • 镇江网站如何设计一个网页
  • 鹤壁做网站百度小说排行榜风云榜
  • aspx做网站网站快速排名服务商
  • 能够做物理题的网站合肥百度快速排名提升
  • 成都网站建设吧网站优化排名怎么做
  • 学习软件开发的网站关键词优化是什么意思?
  • 苏州企业名录黄页国外网站谷歌seo推广
  • 手机端网站模板山东网站建设
  • 微信web网站开发b站视频推广网站
  • 做网站做的好的公司站长工具手机综合查询
  • 做婚纱网站策划方案刷外链
  • wordpress顶部是什么seo优化网站优化排名
  • 湘潭做网站价格 d磐石网络关于搜索引擎的搜索技巧
  • 龙华区城市建设局网站百度网站客服
  • 表格网站滚动字体怎么做的seo外包公司怎么样
  • 营销型企业网站建设教案关键词排名手机优化软件
  • 集团门户网站建设费用科目免费seo推广软件
  • 怎么做视频还有网站吗最近韩国电影片
  • 深圳百度推广电话seo排名系统源码
  • 手机收藏网站代码视频号视频下载助手app
  • 做违法网站会怎样seo网站推广的主要目的是什么
  • 短视频营销策划方案范文百度关键词优化首选667seo
  • 产品设计工资一般多少seo网站有优化培训吗
  • 秦皇岛海三建设广州seo网站推广公司
  • 阿里巴巴做公司网站磁力屋 最好用
  • 权威的锦州网站建设seo职位招聘
  • 怎么查那些人输入做网站3分钟搞定网站seo优化外链建设
  • RHCA03--硬件监控及内核模块调优
  • 力扣:2246. 相邻字符不同的最长路径
  • 【Linux系统】进程间通信:基于匿名管道实现进程池
  • k8s简介
  • Array容器学习
  • Unity_数据持久化_XML序列化与反序列化