Python学习笔记2
来源:互联网 发布:arm-linux-gcc 编辑:程序博客网 时间:2024/05/11 18:23
1、生成器(Generator)
Python中一种一边循环一边计算的机制,就像将列表中的元素按某种算法推算出来。创建Generator就是把列表的【】变成()。直接用for循环来迭代。如果推算的算法比较复杂还可以用函数实现,函数定义中包含关键之yield时就是一个generator,而不是一个普通函数。generator函数在每次调用next()的时候执行,遇到yield语句的时候返回,再次执行时从上次返回的yield处继续执行。
工作原理是在for循环的过程中不断地计算出下一个元素,并在适当的条件(如generator的函数中有return语句或执行到函数体的最后一行)结束for循环。
2、对于编程语言,越是低级的语言就越贴近计算机,抽象程度低,执行效率高,比如C语言;越高的语言,越贴近计算,抽象程度越高,执行效率就低,如Lisp语言(MIT为研究人工智能而开发)。
3、高阶函数
将函数作为参数传入,这样的函数就是高阶函数。
4、map()有一种并行计算的意思。reduce通过函数表达式得到一个最终结果。
5、sorted(序列)---输出从小到大的顺序,sorted(序列,自定义比较函数)----按自定义规则输出结果。
6、返回函数不要引用任何循环变量,或者后续发生变化的变量
7、匿名函数
关键字lambda表示匿名函数,只能写一个表达式,不用谢return,返回值就是表达式的结果。如lambda x:x*x,表示参数为x,表达式是x*x
匿名函数可以作为一个函数的返回值
8、装饰器
传入一个函数,返回函数的高阶函数,作用:动态增加功能
9、作用域
正常函数和变量名是public,可以直接引用,如:abc、x123、PI
_xxxx_是特殊变量。可以直接引用,但是有特殊用途,如_author_, _name_
_xxxx(一个前置下划线)或__xxx(两个前置下划线)是private, 不应该直接引用(Python中没有一种方法可以完全限制访问private函数或变量。但从编程习惯上不应该引用private函数或变量)
10、创建实例的时候,必须绑定的属性强制写进去,通过定义_init_(self,属性1,属性2,...)【注:第一个参数永远是self,表示创建实例本身】,实例化的时候必须传入与_init_相匹配的参数,self不需要传。
11、class内部的属性不被外部访问,在属性名前加两个下划线“__”变成private变量。只有内部能访问;一个前置下划线的变量外部是可以访问的,但是仍然视为私有变量,外部不要去访问。
12、用dir()获取一个对象所有的属性和方法,返回一个包含字符串的list
13、_slots_变量用来限制class能添加的属性,eg:_slots_=("属性1","属性2",.....)【_slots_定义的属性仅对当前类起作用,对集成的子类是不起作用的】
14、@property广泛的应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查。
15、多重继承,一个子类可以有多个父类,class aaa(父类1,父类2,······)
- python学习笔记2
- python学习笔记(2)
- Python学习笔记(2)
- Python学习笔记【2】
- python学习笔记--2
- python学习笔记2
- Python学习笔记[2]
- python学习笔记--2
- python学习笔记2
- Python 学习笔记 -2
- python 学习笔记2
- python 学习笔记-2
- python 学习笔记2
- python 学习笔记2
- Python学习笔记(2)
- Python学习笔记2
- Python学习笔记2
- Python学习笔记(2)
- Java 位运算
- 第一个谷歌浏览器插件_
- Java Socket编程 标准范例(多线程)
- Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图
- LINUX下查看日志常用命令
- Python学习笔记2
- Linux socket本地进程间通信
- “IMP-00010:不是有效的导出文件,头部验证失败”的解决方案
- Linux系统(X64)安装Oracle11g完整安装
- Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型
- 开发环境准备
- vue2.0环境搭建(含router路由)
- maven优化仓库配置
- Android笔记:解决Android 7.0 FileUriExposedException url异常