#第六章对象和类#使用class定义类
class person():def __init__(self,name):self.name = name
hunter = person('elmer fuud')
print('the mighty hunter:',hunter.name)   #在person内部,可以直接通过self.name访问name特性,而创建了一个实际对象后,需要通过hunter.name来访问#继承
class car():def exclaim(self):print("I'm a car!")
class yugo(car):pass
give_me_a_car = car()   #为每个类创建对象
give_me_a_yugo = yugo()
give_me_a_car.exclaim()
give_me_a_yugo.exclaim()  #没有进行任何操作,yugo自动从car那里继承了exclaim()方法#覆盖方法
class car():def exclaim(self):print("Iim a car")
class yugo(car):def exclaim(self):print("I'm a yugo!much like a car,but not a car.")
give_me_a_car = car()   #为每个类创建一个对象
give_me_a_yugo = yugo()
give_me_a_car.exclaim()
give_me_a_yugo.exclaim()class person():def __init__(self,name):self.name = name
class MDPerson(person):def __init__(self,name):self.name = "Doctor" + name
class JDPerson(person):def __init__(self,name):self.name = "Esquire" + name
person = person('Fuud')
doctor = MDPerson('Fudd')
lawyer = JDPerson("Fudd")
print(person.name)
print(doctor.name)
print(lawyer.name)#添加新的方法
class car():def exclaim(self):print("I'm a car")
class yugo(car):def exclaim(self):print("I,m a yugo!Mucg kike a car,but more yugo_ish")def need_a_push(self):print("A little help here")
give_me_a_car = car()
give_me_a_yugo = yugo()
give_me_a_yugo.need_a_push()  #yugo类的对象可以相应need_a_push()的方法,但是car不行#使用super从父类得到帮助
class person():def __init__(self,name):self.name = name
class EmailPerson(person):def __init__(self,name,email):  #子类的__init__()调用了父类的Person.__init__()方法,他会自动将self参数传递给父类super().__init__(name)   #通过super()方法获取了父类person的定义self.email = email
bob = EmailPerson('bob Fraples','bob@frapples.com')
print(bob.name)
print(bob.email)#使用属性对特征进行访问和设置
class duck():def __init__(self,input_name):self.hidden_name = input_namedef get_name(self):print('inside the getter')return self.hidden_namedef set_name(self,input_name):self.hidden_name = input_namename = property(get_name,set_name)  #第一个参数是getter方法,第二个是setter方法
fowl = duck('howard')
print(fowl.name)  #当尝试访问duck类对象的name特性时,get_name()会被自动调用fowl.get_name()  #也可以显示调用get_name(),就像普通的getter方法一样fowl.name = 'daffy'  #当对name特性执行赋值时,set_name()方法会被调用print(fowl.name)fowl.set_name('daffy')  #显示调用set_name()方法#利用装饰器@property,指示getter方法
#利用name.setter,用于指示setter方法
class duck():def __init__(self,input_name):self.hidden_name = input_name@propertydef name(self):print('inside the getter')return self.hidden_name@name.setterdef name(self,input_name):print('inside the setrer')self.hidden_name = input_name
fowl = duck('howard')
print(fowl.name)
fowl.name = 'donald'
print(fowl.name)#鸭子类型
class quote():def __init__(self,person,words):self.person = personself.words = wordsdef who(self):return self.persondef sys(self):return self.words + '.'
class questionquote(quote):def sys(self):return self.words + '?'
class exclamationquote(quote):def sys(self):return self.words + '!'
hunter = quote('elmer fudd',"I'm a hunting wabbits")
print(hunter.who(),'sys:',hunter.sys())hunted1 = questionquote('bug bunny',"what's up,doc")
print(hunted1.who(),'sys:',hunted1.sys())hunted2 = exclamationquote('daffy duck',"It's rabbit season")
print(hunted2.who(),'sys:',hunted2.sys())

python类和对象相关推荐

  1. python类包含对象的个数_python类与对象各个算数运算魔法方法总结

    1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...

  2. Python类与对象实验

    一.任务描述   本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. ...

  3. 【Python基础入门系列】第10天:Python 类与对象

    首先,我已经假定你是个萌新或已经看了无数遍的垃圾文章,然后依然搞不懂类和对象,但是呢起码知道有类和对象这么两个玩意儿,我觉得有必要找一篇生动形象的示例来讲解. 由于你可能没有编程经验, 所以无法从学过 ...

  4. 一文讲全了Python 类和对象内容

    摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan  . Pytho ...

  5. python类和对象_Python类和对象

    python类和对象 Python is an object-oriented programming language. Python Classes and Objects are the cor ...

  6. python中对象的特性_python中类与对象之继承,python类和对象理解,面对对象的三大特性之...

    python中类与对象之继承,python类和对象理解,面对对象的三大特性之 面对对象的三大特性之继承 1.什么是继承? 在程序中,继承指的是class与class之间的关系 继承是一种关系,必须存在 ...

  7. python类、对象、方法、属性之类与对象笔记

    为什么80%的码农都做不了架构师?>>>    python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... ...

  8. python——类和对象之__dict__属性的使用

    在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,属性值作为对应的值. __dict__,可以使用类名或者类的实例对象来调用, 用类名直接调用__di ...

  9. python类和对象介绍_python中的类,对象,方法,属性等介绍

    注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...

  10. python类和对象详解_Python公开课 - 详解面向对象

    前言 在C语言中,单纯通过结构化的函数也可以实现很好的软件,顺序思路比较好理解:而C++则以面向对象的思维来进行代码组织,通过定义对象.成员变量.成员函数.以封装.继承和多态等方式来更灵活处理业务逻辑 ...

最新文章

  1. 阿里云oss云存储图片上传在wangEditor富文本编辑器上的集成
  2. 很实用但经常忘的小常识
  3. Spring+ActiveMQ配置
  4. golang 获取 进程 名称 id
  5. 交叉编译php-5.6.30,linux下用arm-none-linux-gnueabi交叉编译arm内核模块
  6. android应用js
  7. VirtualBox下Ubuntu利用桥接方式上网
  8. Elasticsearch5.X Mapping万能模板
  9. JavaWeb之Cookie,Session
  10. 深度学习在植物种类及病害识别领域的研究
  11. zabbix详解(十六)——zabbix agent自动注册实战
  12. (八)Java日期工具类DateUtils详解(一)
  13. Docker修改MySQL默认端口
  14. SQL注入漏洞-SQL盲注
  15. 计算机应用基础网课作业答案,知到网课答案计算机应用基础(新)全部答案
  16. 自定义fingerprint特征
  17. FFT+NNT 深入学习记录 秦皇岛camp 乒乓球
  18. 朋友圈那个随便辞职的年轻人,后来活成了什么样?
  19. 从零开始写项目第三篇【在线聊天和个人收藏夹】
  20. 宏录制流程——例:生成工资条

热门文章

  1. Mandriva Linux 2012 Alpha 2 发布
  2. 武汉linux软件,Linux发行版Mandriva的安装与软件包
  3. 阿里云 ECS迁移数据至腾讯云云服务器
  4. 芝麻信用行业关注名单风险标签对照表SQL---福利大家!
  5. java 按 大写字母_用大写字母拆分字符串
  6. 2020考研初期作息时间表
  7. elasticsearch整体结构示意图
  8. c语言程序设计模拟卷视频,《C语言程序设计》模拟试卷A卷.doc
  9. PhotoShop(2)ps常用工具和操作,ps 切图,cutterman下载使用
  10. 谈谈心理学--那些令人叫绝的心理效应