《用Python玩转数据》第1周学习笔记(Part2)
来源:互联网 发布:mysql每天自动弹出 编辑:程序博客网 时间:2024/05/29 05:01
1、range和xrange:http://ciniao.legu.cc/article.php?id=17
大白话:
range直接就生成一个list,把内存给占上了。
xrange像一个管家,用的时候返回1个值,不用的时候也不占地方。
对于程序设计者来说,两者没什么区别。但对于程序和运行程序的机器来说,xrange省内存。
python3没有xrange,但是python3的range == python2的xrange.
2、循环中的break和continue:
break表示跳出当前循环并终止。
continue表示跳出当前循环,然后继续进入循环。
3、循环中的else
如果while或者for循环是正常结束的(没有被break或者return终止),那么则执行else语句块。这一点与if…else不同,需要注意。
4、函数注释:
def function(): 'doc_string'
函数的第1行一般写个string,用于函数注释。可以用fountion.__doc__
查看函数注释。如果使用#或者3引号来写注释,就无法用命令查看了。
养成好习惯!
5、函数的关键字参数:
def f(x, y): if y: print x else: print yf(1, True)f(y = False, x = 2)f(3, y = True)f(y = False, 4)f(a = 5, b = True)f(x = 6, True)f(False, x = 7)
运行结果:
可以看到:
- 如果所有参数都是关键字参数,并且关键字正确,那么顺序无所谓。
- 如果只写部分的关键字参数,并且符合位置顺序,并且关键字参数排在后面,那么函数可以正常运行。
- 但如果只写部分的关键字参数,关键字不对,或者关键字参数放到了前面,或者关键字位置不对,则程序报错。
6、lambda函数(匿名函数)
还使用上面的f()
,得出下面的代码:
f1 = lambda a, b, c: a(b, c)f1(f, 10, True)
运行结果是 10
用起来比较麻烦。
7、递归:在函数中再调用自身。效率很低。
def fib(n): if n == 0 or n == 1: return n else: return (fib(n - 1) + fib(n - 2))
fib(10)
的结果是55,fib(100)
就死掉了~~
8、is
和==
的区别:
http://stackoverflow.com/questions/132988/is-there-a-difference-between-and-is-in-python ==
仅比较value,is
比较是否是同一个object
9、type()和isinstance()的区别:
http://www.jb51.net/article/54275.htm
class A: passclass B(A): passisinstance(A(), A) # returns Truetype(A()) == A # returns Trueisinstance(B(), A) # returns Truetype(B()) == A # returns False
以后判断类型最好用instance(),因为它可以正确判断子类
- 《用Python玩转数据》第1周学习笔记(Part2)
- 《用Python玩转数据》学习笔记第2周(Part2)
- 《用Python玩转数据》学习笔记第3周Part2
- 《用Python玩转数据》第1周学习笔记(Part 1)
- 《用Python玩转数据》第2周学习笔记(Part1)
- 《用Python玩转数据》学习笔记第3周Part1
- 《用Python玩转数据》学习笔记第4周Part1
- 用Python玩转数据第一周学习笔记のPython基础
- 《用python玩转数据》1
- Python玩转数据分析学习笔记-01基础
- Python玩转数据分析学习笔记-02语法
- Python玩转数据分析学习笔记-03数据获取
- Python玩转数据分析学习笔记-04字典相关
- Python玩转数据分析学习笔记-05数据
- MOOC用Python玩转数据笔记 2
- 南京大学MOOC用python玩转数据课程笔记
- 《用Python玩转数据》Week 5, Part 1
- 用python玩转数据|基本语法
- simhash查找快速算法
- markdown 常用公式符号
- iOS 静态库相关
- Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
- PHP上传文件问题小议(一)无权限创建文件目录
- 《用Python玩转数据》第1周学习笔记(Part2)
- angularjs 添加loading
- C#单列模式
- Android入门之文件系统操作(二)文件操作相关指令
- Android 输入系统之EventHub篇
- 参看端口号\关闭对应进程
- Android系统框架
- 外观模式(Facade)
- Servlet对Ajax中请求处理及Json串的解析