Python学习笔记(七)——Python 类
来源:互联网 发布:js判断json是否存在 编辑:程序博客网 时间:2024/04/30 06:55
1、创建类
#-*- coding: utf-8 -*-#OO 抽象、封装、继承、多态#创建类class Person: def setName(self,name):#self 代表对象自身 self.name=name def getName(self): return self.name def greet(self): print "hi,%s"%self.name2、初始化类调用类方法
foo=Person()foo.setName('Max')print foo.getName() #Maxfoo.greet() #hi,Max3、类的私有、公有方法
#类的私有方法class Secret: def _private(self): #_表示私有 print "cant" def public(self): print "cat"o=Secret() #如果在其他类中调用这个类?o.public()o._private()4、类的继承
#超类class Filter: def init(self): self.blocked=[] class SPAMFilter(Filter): #SPAMFilter继承于Filter def init(self): #重写init方法 self.blocked=['SPAM']f=Filter()print f.init()s=SPAMFilter()print s.init()#判断两个类之间是否存在继承关系print issubclass(SPAMFilter,Filter)5、多重继承
#多重继承class Calculator: def calculate(self,expression): self.value=eval(expression) class Talker: def talk(self): print 'hi,value is',self.value#子类,同事继承两个父类 class TalkingCalculator(Calculator,Talker): pass#调用tc=TalkingCalculator()tc.calculate('1+1')tc.talk() #hi,value is 2#注意如果Talker、Calculator两个超类中都有一个talk方法时,继承时要注意#先继承的类方法会重写后继承的方法。# class TalkingCalculator(Talker,Calculator):# pass#如果是这个顺序,则Talker中的talk方法可用,而Calculator不可用#判断类中方法是否存在print hasattr(tc,'talk') #True#判断类中方法是否可调用print callable(getattr(tc,'talk',None)) #True
0 0
- Python学习笔记(七)——Python 类
- [python]python学习笔记(七)——加密
- python 学习笔记(七)
- Python学习笔记(七)
- Python学习笔记(七)
- Python学习笔记(七)
- Python学习笔记(七)
- Python学习笔记【七】——《python基础教程》:: 更加抽象
- Python学习笔记(七)——自我探索模块
- Python学习笔记(七)——进程和线程
- Python学习笔记(七)——模块
- python学习笔记(七)——小小的实践
- Python学习笔记(七)—递归函数
- "Python"学习笔记(七)(切片)
- python 系统学习笔记(七)---set
- python 系统学习笔记(七)---set
- Python学习笔记(七)更加抽象
- Python核心编程学习笔记(七)
- BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱
- C++返回值为对象时复制构造函数不执行怎么办
- 独立显卡安装黑屏问题
- 极客学院ios开发工程师系列课程
- java集合系列——Set之HashSet和TreeSet介绍(十)
- Python学习笔记(七)——Python 类
- php--缓冲区
- CSS3 超有用的Flexbox 口诀
- code【vs】1380 没有上司的舞会(树形dp)
- 泛腾科技xStorage 6100 6U VPX超高速存储系统
- Android性能优化系列之布局优化
- dp(DAG模型)
- 今日头条,清理分析
- 给大家分享一下最近开发遇到的一些坑