《Python入门》学习笔记(3)
上一篇文章分享内容:《Python入门》学习笔记(2)
函数
1.公式与函数,函数是组织好的,可以重复使用,提高应用的模块性,代码的重复利用率。
2.函数分类,内建函数(print,input,map,reduce等),自定义函数,第三方工具包函数。定义函数由关键字,函数名称,参数,返回值等组成。函数的参数分为实参和形参;返回值是返回函数计算的结果,可以是值、公式、函数等,可以返回多个值;函数体是实现功能的主要部分;参数有必备,关键字,默认参数,不定长参数(*args,**kwargs)。变量分为全局和局部变量,在函数中使用可变数据作为参数会影响结果。
3.匿名函数lambda,是一个表达式,函数体比def简单,代码简洁。
4.函数的特点,函数本身可以作为参数和返回值,执行过程自上而下,函数体调用时才执行,函数式编程支持部分。
5.高阶函数,变量可以指向函数,可以传入函数。map函数接收两个参数,一个试函数,一个试Iterable对象;reduce函数接收两个参数,把结果继续和序列的下一个元素做累积计算;filter函数用于过滤序列;sorted函数用来排序。
类,对象和方法
1.面向对象编程和面向过程,是两种思维模式。面向过程将复杂的问题流程化,进而简单化,但扩展性差;面向对象是一种设计思想,把对象作为程序基本单元,包含数据和操作数据的函数。面向过程把函数继续切为子函数。
2.类和对象,类是创建对象的代码段,描述对象特征,有属性、方法、事件等;对象是类的一个实例。封装是把方法、属性、事件集中到一个类中,屏蔽其中细节。继承是在现有类或者生成新的类。多态是一个同样函数对不同对象具有不同的实现。类默认继承object,可以继承多个父类。私有化在属性或方法前加上一个下划线,只能在本模块中使用;完全私有化,只能自己访问,在方法或属性前加双下划线。给对象添加不存在的属性和方法,动态添加的会影响对象。函数是封装一些独立的功能,可以直接调用,放回数据;方法只能依靠类或者对象调用。实例方法第一个参数self,调用u传递self;静态方法使用时不需要类或者实例本身,通过@staticmethod实现;类方法第一个参数cls,调用时需要传递类型给类方法,通过@classmethod实现。
3.魔法方法,内部包含,被双下划线所包围的方法(__new__:构造方法,__init__:对象初始化),new可用于单例模式。__del__析构方法,实例化对象被销毁时使用。__str__当被str()调用时操作。__getattr__(self,name)定义获取一个不存在的属性时行为,__setattr__定义一个属性被设置时的行为。
4.设计模式,是为了重用代码,有单例、工程、代理、观察者模式等,单例模式只有一个实例,使用__new__来实现;工厂模式通过使用一个共同的接口来指向新创建的对象;观察者模式用于一对多的关系,其中一个对象被修改,会自动通知依赖它的其它对象。