```
"一等对象":
满足条件:1.在运行时创建 2.能赋值给变量或数据结构中的元素 3.能作为参数传递给函数 4.能作为函数的返回结果
[ 整数、字符串、字典、"所有函数" ]等都是一等对象
```
```
"什么是函数"
调用:直接使用、不需要类或对象进行调用
定义:定义在模块中、类体外
作用:数据处理
```
```
"什么是方法"
调用:不能直接使用、需要类或对象进行调用
定义:定义在类体中
作用:状态处理、状态(对象的属性、类的属性)
```
```
"实例方法"
实例方法、接受一个self参数、该参数指向类的实例.
实例方法、通过self参数可以自由地访问同一个对象的属性和其他方法.
实例方法、不仅可以修改对象的状态、还可以修改类的状态、通过self.__class__属性访问类本身.
实例方法、需要一个类的实例对象、并通过self访问实例.
```
```
"类的方法"
类的方法、用一个@classmethod装饰器标记.
类的方法、接受一个cls参数、该参数指向类本身、而不是实例.
类的方法、只能访问cls参数、因此无法修改实例对象.
类的方法、仍然可以修改适用于此类的所有实例的类状态.
类的方法、不需要类实例、无法访问实例、但他们可以通过cls访问类本身. 常用于定义备选构造方法
```
```
"静态方法"
静态方法、用@staticmethod装饰器标记.
静态方法、既不需要self也不需要cls参数.
静态方法、既不能修改对象状态也不能修改类状态.
静态方法、无法访问cls或self、它们像常规函数一样工作,但属于类的命名空间.
静态方法和类的方法通信并(在某种程度上)强制开发人员 关于类设计的意图、这可以带来维护益处.
将方法标记为静态方法不仅仅是一个方法不会修改类或实例状态的提示 - 这个限制也是由Python运行时强制执行的
```
```
"高阶函数"
参数包含函数、或返回值是函数 的函数就是高阶函数。
如内置高阶函数:map、filter、reduce
```
```
"匿名函数"
匿名函数就是没有名字的函数、lambda关键字用来创建匿名函数、
lambda函数只能是纯表达式、不能赋值、不能使用while、try等语句、在参数列表中最适合使用匿名函数
```
```
"钩子函数"
钩子函数也叫回调函数,是通过函数指针来实现的. 函数的指针可以指向不同的函数, 从而完成不同的功能. 函数指针往往被声明为全局变量. 实例方法见C语言代码
分类:
技术点:
By © 2017 likecs 版权所有.
粤ICP备12038626号-2
Powered By WordPress . Theme by Luju