Pythonday06
来源:互联网 发布:cf烈龙加成斯太尔算法 编辑:程序博客网 时间:2024/05/21 06:24
装饰器(器,就是函数,装饰器就是用来装饰函数的函数)
普通的函数:
def 函数名(形参): # 变量名
函数体
return 变量|常量
print 函数名(实参)
匿名函数
lambda 形参 : 返回值
python面向对象
分类:
- 面向过程编程:初学者容易接受,从上往下依次执行;
面向函数编程:将某功能的代码封装为一个函数,使用时仅调用函数;
(2+3)*2-1 jian(multi(add(2,3),2),1)面向对象编程:对函数进行分类和封装….
class people: # 经典类class People(object): # 新式类,object类是所有类的基类/父类 def __init__(self,name,age): # 构造函数,当实例化对象时自动调用; self.name = name # 属性 self.age = age def run(self): # 方法 print "running...." def __del__(self): print "deleteing......" # 析构函数,删除实例化对象时自动调用;class Student(People): # Student是子类,继承People这个父类; passp1 = People("张策",18)p1.run()
面向对象的三个特性
封装
封装:把内容统一放在一个地方,看成一个整体,(实例化对象self和类的属性绑定在一起);
- 访问封装内容的两种方式:
通过self去访问封装的内容;(self.name)
通过实例化的对象名去访问封装的内容;(p1 = People(“westos”,17) p1.age)
继承
继承:子承父业
- 新名词:基类/派生类, 父类/子类, 新式类和经典类
- 多继承:
新式类: 广度优先继承;(python2.x和python3.x均支持)
经典类:深度优先继承;(python2.x支持,python3.x没有经典类)
- 注意:
类的方法中可以传递一个对象;
多态
如果子类调用的方法,子类没有,父类有,运行父类;如果子类调用的方法,子类有,父类也有,只运行子类的;
面向对象进阶
- 类变量,全局变量,在内存中只存储一份;
- 普通的对象属性,每个对象中都需要存储一份;
方法
- 实例化方法:第一个参数为self(实例化本身);
- 类方法:第一个参数是cls(类本身);通过@classmethod装饰器实现;
- 静态方法:第一个参数既不是self也不是cls;通过@staticmethod方法实现;
特殊属性
类的特殊成员
阅读全文
0 0
- Pythonday06
- JAVA工具类(10)--- 随机生成字符串工具类randomUtil
- 删除右键文件下拉菜单(非打开方式)中的wine选项
- 面试题:给出一数组,求这数组中出现最多次数的值且最大
- 插入排序与归并排序
- 正则表达式——(2) – 语法
- Pythonday06
- HashTable的实现原理
- 面向对象与面向过程的区别
- 轻院1070:小汽车的位置
- 简单认识钢琴五线谱
- hadoop 伪分布式搭建
- 基于H.264的RTP打包原理和FU-A分片实例分析
- 双目视觉
- 安装tslib时遇到的问题error: call to ‘__open_missing_mode’ declared with attribute