Python入门-面向对象-特殊方法】的更多相关文章

调用拦截功能 class Message: def send(self,info): print("消息发送:",info) class Me: def __getattribute__(self, item): print("attribute:", item) #执行拦截的操作 return object.__getattribute__(self, item) # 放开拦截的操作 def send(self,info): print("消息发送:&q…
python很好的支持面向对象编程,本节主讲类的定义,类的构造方法,类的继承与方法重写,类的多继承. 一.类的定义 class Myclass() : def prt(self, str) : print(str) a = Myclass() a.prt('hello...') hello... 二.类的构造方法 class Myclass() : def __init__(self, name) : self.name = name def prt(self) : print(self.nam…
一.类的三种方法 1.实例方法 def func(self): 由对象调用:至少一个self参数:执行普通方法时,自动将调用该方法的对象赋值给self: 只能通过实例调用   2.静态方法 @staticmethod def add(): 由类调用,不需要对象:无默认参数.静态方法跟所在的类没有任何关系,也不能引用类里面的属性和方法 静态方法既可以直接使用类名去调用,还可以使用类的实例去调.   3.类方法 不用创建实例,就可以使用的方法 @classmethod (装饰器) def func1…
在此列出format()方法的一些基本使用: >>> '{}{}{}'.format('圆周率是',3.1415926,'...') '圆周率是3.1415926...' >>> "圆周率{{{1}{2}}}是{0}".format("无理数",3.1415926,"...") '圆周率{3.1415926...}是无理数' format()方法的格式控制: >>> s = "PYT…
1.变量作用域 全局变量和局部变量 #变量是有作用域的,分为全局变量和局部变量 num = 100 #这是全局变量 def change(): """ 查看变量作用域 """ num = 30 #这是局部变量 print("change函数内部的,局部变量:",num) change() print("全局变量:",num) """ change内部的变量: 30 全局变量:…
一.封装 封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容. 所以,在使用面向对象的封装特性时,需要: 将内容封装到某处 从某处调用被封装的内容 第一步:将内容封装到某处 self 是一个形式参数: 当执行 obj1 = Foo('wupeiqi', 18 ) 时,self 等于 obj1 当执行 obj2 = Foo('alex', 78 ) 时,      self 等于 obj2 所以,内容其实被封装到了对象 obj1 和 obj2 中,每个对象中都有 name 和…
Pyhon不支持多态并且也用不到多态,多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚"鸭子类型".…
面向对象中的继承和现实生活中的继承相同,即:子可以继承父的内容. 例如: 猫可以:喵喵叫.吃.喝.拉.撒 狗可以:汪汪叫.吃.喝.拉.撒 如果我们要分别为猫和狗创建一个类,那么就需要为 猫 和 狗 实现他们所有的功能,如下所示: 伪代码 class 猫: def 喵喵叫(self): print '喵喵叫' def 吃(self): # do something def 喝(self): # do something def 拉(self): # do something def 撒(self)…
Python入门之面向对象的__init__和__new__方法…
Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理. 问题规模小,可以步骤化,按部就班处理. 代表:C语言 面向对象OOP 随着计算机需要解决的问题的规模扩大,情况越来越复杂.需要很多人.很多部门协作,面向过程编程不太适合了. 代表:C++.Java.Pyth…