随笔分类 -  python的面向对象

摘要:1、try方式 try: age=int(input(">>>")) int(age)#主逻辑 num=input(">>>>") int(num)#主逻辑 except ValueError as e: #except代表捕捉的意思,as,把ValueError取个别名叫e print(e) #表 阅读全文
posted @ 2018-06-26 10:16 gouguoqi 阅读(8103) 评论(0) 推荐(0)
摘要:装饰器不仅能装饰函数,也能装饰类 1、装饰器是在不改变源代码,和不改变源函数的调用方式的前提下,给函数增加功能 def deco(func): print(" ") return func def atest(): print("atest函数运行") atest() C:\python35\pyt 阅读全文
posted @ 2018-06-26 10:08 gouguoqi 阅读(597) 评论(0) 推荐(0)
摘要:1、本来name应该是传字符串,age传数字,salary是传浮点数,但是我瞎传也可以,说明python没有帮我们判断这个类型 class People: def __init__(self,name,age,salary): self.name=name self.age=age self.sal 阅读全文
posted @ 2018-06-23 10:24 gouguoqi 阅读(271) 评论(0) 推荐(0)
摘要:class Foo: def __get__(self, instance, owner): print("get方法") def __set__(self, instance, value): print("set方法") def __delete__(self, instance): print 阅读全文
posted @ 2018-06-23 10:12 gouguoqi 阅读(246) 评论(0) 推荐(0)
摘要:1、包装是在之前原有的方法的基础上,在做一点改动,这叫包装,就像包装那个append方法 现在我们来做一个open方法 class Open: def __init__(self,filename,mode="r",encoding="utf8"): self.filename=filename s 阅读全文
posted @ 2018-06-22 21:40 gouguoqi 阅读(274) 评论(0) 推荐(0)
摘要:__getattr__ 当实例要调用的属性不存在的时候会触发 __setattr__ 当实例要设置属性的时候会触发 __delattr__ 当实例要删除属性的时候会触发 这三个方法是python内置的方法,如果不自己定义的话,就是默认的,自己定义的话就是用自己定义的 1、__getattr__ 当要 阅读全文
posted @ 2018-06-22 21:27 gouguoqi 阅读(291) 评论(0) 推荐(0)
摘要:1、hasattr getaddr setaddr delattr 这四个函数同样也适用于类 class BlackMedium: feture="Ugly" def __init__(self,name,addr): self.name=name self.addr=addr def sell_h 阅读全文
posted @ 2018-06-21 13:33 gouguoqi 阅读(765) 评论(0) 推荐(0)
摘要:一、实现自省的四个函数 1、hasattr判断一个对象中有没有一个name字符串对应的方法或属性 class BlackMedium: feture="Ugly" def __init__(self,name,addr): self.name=name self.addr=addr def sell 阅读全文
posted @ 2018-06-21 13:29 gouguoqi 阅读(321) 评论(0) 推荐(0)
摘要:1、没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类 Country="China" def __init__(self,name,speed,load,power): self. 阅读全文
posted @ 2018-06-19 09:52 gouguoqi 阅读(2245) 评论(0) 推荐(0)
摘要:1、定义一个人的类 class Person: def __init__(self,id_num,name,Hand,Foot,Trunk,Head): self.id_num=id_num self.name=name self.hand=Hand self.foot=Foot self.trun 阅读全文
posted @ 2018-06-19 09:47 gouguoqi 阅读(249) 评论(0) 推荐(0)
摘要:1、先在子类本身找,如果子类没有,会去父类找 class Dad: '这个是爸爸类' money=10#Dad类的数据属性 def __init__(self,name): print("爸爸") self.name=name def hit_son(self): print("%s 正在打儿子" 阅读全文
posted @ 2018-06-19 09:31 gouguoqi 阅读(1445) 评论(1) 推荐(1)
摘要:一、静态属性 静态属性说的就是数据属性 1、定义一个房间的类,求下这个房间的面积 class Room: def __init__(self,name,ower,width,length,heigh): self.Name=name self.Ower=ower self.Width=width s 阅读全文
posted @ 2018-06-17 23:32 gouguoqi 阅读(10561) 评论(1) 推荐(3)
摘要:1、面向对象设计 def school(name,addr,type):#定义一个大函数的作用就是不能让狗调用学校的方法 #学校动作 def kaoshi(school): print("[%s]学校正在考试" %school["name"]) def zhaosheng(school): prin 阅读全文
posted @ 2018-06-16 14:44 gouguoqi 阅读(225) 评论(0) 推荐(0)
摘要:1、对象就是实例,什么是实例 类运行的过程就是实例化的过程,实例化产生的结果就是产生了一个实例 class的牛逼之处就是不用手动的return,他会加载完函数之后,自动return __init__这个函数里面的字典,字典当中封装了数据属性 函数属性就是属于类的 2、实例化 只要用类名加()的方式运 阅读全文
posted @ 2018-06-16 14:37 gouguoqi 阅读(487) 评论(0) 推荐(0)
摘要:1、 class Chinese: country='China' def __init__(self,name): self.name=name def play_ball(self,ball): print('%s 正在打 %s' %(self.name,ball)) p1=Chinese("北 阅读全文
posted @ 2018-06-16 14:25 gouguoqi 阅读(370) 评论(0) 推荐(0)