python类和对象
#第六章对象和类#使用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类和对象相关推荐
- python类包含对象的个数_python类与对象各个算数运算魔法方法总结
1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...
- Python类与对象实验
一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. ...
- 【Python基础入门系列】第10天:Python 类与对象
首先,我已经假定你是个萌新或已经看了无数遍的垃圾文章,然后依然搞不懂类和对象,但是呢起码知道有类和对象这么两个玩意儿,我觉得有必要找一篇生动形象的示例来讲解. 由于你可能没有编程经验, 所以无法从学过 ...
- 一文讲全了Python 类和对象内容
摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan . Pytho ...
- python类和对象_Python类和对象
python类和对象 Python is an object-oriented programming language. Python Classes and Objects are the cor ...
- python中对象的特性_python中类与对象之继承,python类和对象理解,面对对象的三大特性之...
python中类与对象之继承,python类和对象理解,面对对象的三大特性之 面对对象的三大特性之继承 1.什么是继承? 在程序中,继承指的是class与class之间的关系 继承是一种关系,必须存在 ...
- python类、对象、方法、属性之类与对象笔记
为什么80%的码农都做不了架构师?>>> python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... ...
- python——类和对象之__dict__属性的使用
在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,属性值作为对应的值. __dict__,可以使用类名或者类的实例对象来调用, 用类名直接调用__di ...
- python类和对象介绍_python中的类,对象,方法,属性等介绍
注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...
- python类和对象详解_Python公开课 - 详解面向对象
前言 在C语言中,单纯通过结构化的函数也可以实现很好的软件,顺序思路比较好理解:而C++则以面向对象的思维来进行代码组织,通过定义对象.成员变量.成员函数.以封装.继承和多态等方式来更灵活处理业务逻辑 ...
最新文章
- 阿里云oss云存储图片上传在wangEditor富文本编辑器上的集成
- 很实用但经常忘的小常识
- Spring+ActiveMQ配置
- golang 获取 进程 名称 id
- 交叉编译php-5.6.30,linux下用arm-none-linux-gnueabi交叉编译arm内核模块
- android应用js
- VirtualBox下Ubuntu利用桥接方式上网
- Elasticsearch5.X Mapping万能模板
- JavaWeb之Cookie,Session
- 深度学习在植物种类及病害识别领域的研究
- zabbix详解(十六)——zabbix agent自动注册实战
- (八)Java日期工具类DateUtils详解(一)
- Docker修改MySQL默认端口
- SQL注入漏洞-SQL盲注
- 计算机应用基础网课作业答案,知到网课答案计算机应用基础(新)全部答案
- 自定义fingerprint特征
- FFT+NNT 深入学习记录 秦皇岛camp 乒乓球
- 朋友圈那个随便辞职的年轻人,后来活成了什么样?
- 从零开始写项目第三篇【在线聊天和个人收藏夹】
- 宏录制流程——例:生成工资条