首页 > 代码库 > python3_07.面向对象
python3_07.面向对象
面向对象程序设计的基本步骤:
1、根据功能、抽象业务对象。
2、构建独立的业务模块,利用封装、继承、多态等抽象业务需求。
3、编写程序。
4、以对象为单位输入参数、开展测试。
global关键字用来在函数或其他局部作用域中使用全局变量。 >>> a = 10 >>> def foo(): ... a = 100 ... >>> a 10 >>> foo() >>> a 10 >>> def glo(): ... global a ... a = 100 ... >>> a 10 >>> glo() >>> a 100
#类名通常是大写开头的单词 #object表示从哪个类继承下来,通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类。 class People(object): #定义基本属性 name = ‘‘ age = 0 #定义私有属性 #两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。 __weight =0 #定义构造方法 #__init__方法的第一个参数永远是self,表示创建的实例本身,创建实例的时候,必须传入与__init__方法匹配的参数, def __init__(self,n,a,w): self.name = n self.age = a self.__weight = w #数据封装,也就是定义函数,称为类的方法 def speak(self): print("%s 说:我%d 岁。"%(self.name,self.age)) #类的继承 #需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。 #单继承 class Student(People): grade = ‘‘ def __init__(self,n,a,w,g): People.__init__(self,n,a,w) self.grade = g def speak(self): print("%s 说:我 %d 岁 ,在读%s 年级"%(self.name,self.age,self.grade)) #另一个类,多重继承之前的准备 class Speaker(): topic = ‘‘ name = ‘‘ def __init__(self,n,t): self.name = n self.topic = t def speak(self): print("我叫%s ,我是一个演说家,我的主题是:%s"%(self.name,self.topic)) #多重继承 class Sample(Student,Speaker): a = ‘‘ def __init__(self,n,a,w,g,t): Student.__init__(self,n,a,w,g) Speaker.__init__(self,n,t) #创建实例 test = Sample("Tim",25,80,4,"python") #调用实例的方法 #方法名同,默认调用的是在括号中排前地父类的方法 test.speak()
类的专有方法:
__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__div__: 除运算
__mod__: 求余运算
__pow__: 称方
本文出自 “拔电源的运维空间” 博客,请务必保留此出处http://zhangdj.blog.51cto.com/9210512/1882882
python3_07.面向对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。