首页 / PYTHON / Python之面向对象
Python之面向对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python之面向对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2088字,纯文字阅读大概需要3分钟。
内容图文
面向对象:
~Python是一门面向对象的语言。类(class)是一种抽象的模板,实例(instance)是根据类创建的具体对象,每个对象都有相同的方法,只不过传入的数据可能不一样。
~类里面一般包含属性和方法,你可以简单的理解为属性为静态的,方法为动态的。比如class person:这个类手、脚、眼睛这些为属性,而走路、看书等为方法。
~由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__
方法,在创建实例的时候,就把各~种属性绑上去
~而__init__
方法的第一个参数永远是self
,表示创建的实例本身,因此,在__init__
方法内部,就可以把各种属性绑定到self
,因为self
就指向创建的实例本身。
?创建
创建一个person的类:
1 class person: 2 def __init__ (self,name,weight,hight,country): 3 self.name=name 4 self.weight=weight 5 self.hight=hight 6 self.country=country
传入一个实例
1 a=person("y",179,180,"china")
1 a.country#获取person中country这个属性
china
创建一个默认属性
1 class person: 2 country="china"#shared by all instance3def__init__(self,name,weight,hight): 4 self.name=name 5 self.weight=weight 6 self.hight=hight
1 a=person("y",179,180)
1 a.country
‘china‘
亦或写成
1 class person: 2 def __init__ (self,name,weight,hight): 3 self.name=name 4 self.weight=weight 5 self.hight=hight 6 self.country="china"
创建一个既有属性又有方法的类
1 class person: 2 def __init__ (self,name,weight,hight): 3 self.name=name 4 self.weight=weight 5 self.hight=hight 6 self.country="china" 7def judge_weight(self,weight): 8if weight>160: 9print("超重") 10elif weight>120: 11print("标准") 12else: 13print("偏瘦")
1 a=person("y",179,180)
1 a.judge_weight(110)
偏瘦
?继承
一个类继承另一个类时,它将自动获得另一个类的属性和方法;原有的类称为父类,而新的类称为子类。
1 class huge(person): 2 pass # 完全继承
1 a=huge("y",179,180) 2 a.name
‘y‘
多态
子类继承了其父类的所有属性和方法,同时也可以定义自己的属性和方法。
用super().__init__去初始化父类super()将返回当前类继承的父类,__init__初始化方法。
1 class huge(person): 2 def __init__(self,name,weight,hight,skill):#写出子类的所有属性3 super().__init__(name,weight,hight)#子类所继承的父类属性4 self.skill=skill#子类自己的属性5pass
1 a=huge("y",179,180,"fly") 2 a.skill
‘fly‘
方法重载:当父类的方法不符合子类的需求时,可以重新定义一个方法,即它与重写的父类方法同名,即覆盖了父类的方法。
1 class huge(person): 2 def __init__(self,name,weight,hight,skill):#写出子类的所有属性 3 super().__init__(name,weight,hight)#子类所继承的父类属性 4 self.skill=skill#子类自己的属性 5def judge_weight(self,hight): 6if hight>180: 7print("高") 8elif hight>170: 9print("中") 10else: 11print("矮") 12
1 a.judge_weight(170)
矮
原文:https://www.cnblogs.com/ye20190812/p/13372838.html
内容总结
以上是互联网集市为您收集整理的Python之面向对象全部内容,希望文章能够帮你解决Python之面向对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。