Python--学习笔记1
- 区分大小写
-
Raise() 抛出异常
当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。来自 <https://www.cnblogs.com/ggzhangxiaochao/p/9002847.html>
-
Python smtp和email模块
https://www.cnblogs.com/zhangxinqi/p/9113859.html - 定义字符串,单引号双引号没有区别,但是必须成对出现
匿名函数lambda(参考https://www.cnblogs.com/hf8051/p/8085424.html)
lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。
通常是直接使用lambda函数。如下所示:
add = lambda x, y : x+y
add(1,2) # 结果为3
同时,lambda函数可作为参数传递给其他函数。例如,sorted函数。此时lambda函数用于指定对列表中所有元素进行排序的准则。例如sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x))将列表[1, 2, 3, 4, 5, 6, 7, 8, 9]按照元素与5距离从小到大进行排序,其结果是[5, 4, 6, 3, 7, 2, 8, 1, 9]。
使用上下文管理关键字with方法
s = 'Hello world\n文本文件的读取方法\n文本文件的写入方法\n'
with open('sample.txt', 'a+') as f:
f.write(s)
with open('sample.txt','r') as src, open('sample_new.txt', 'w') as dst:
dst.write(src.read())
with open('sample_new.txt', 'r') as fp:
for line in fp:
print(line)
Hello world
文本文件的读取方法
文本文件的写入方法
Hello world
文本文件的读取方法
文本文件的写入方法
参考资料:
pickle模块的使用讲解: http://blog.csdn.net/coffee_cream/article/details/51754484
迭代器
可以直接作用于for
循环的数据类型有以下几种:
一类是集合数据类型,如list
、tuple
、dict
、set
、str
等;
一类是generator
,包括生成器和带yield
的generator function。
生成器不但可以作用于for
循环,还可以被next()
函数不断调用并返回下一个值,直到最后抛出StopIteration
错误表示无法继续返回下一个值了。
生成器都是Iterator
对象,但list
、dict
、str
虽然是Iterable
,却不是Iterator
。
把list
、dict
、str
等Iterable
变成Iterator
可以使用iter()
函数:
可以被next()
函数调用并不断返回下一个值的对象称为迭代器:Iterator
。
这些可以直接作用于for
循环的对象统称为可迭代对象:Iterable
。
小结
凡是可作用于for
循环的对象都是Iterable
类型;
凡是可作用于next()
函数的对象都是Iterator
类型,它们表示一个惰性计算的序列;
集合数据类型如list
、dict
、str
等是Iterable
但不是Iterator
,不过可以通过iter()
函数获得一个Iterator
对象。
列表生成式,生成器和迭代器的知识点
https://www.cnblogs.com/wj-1314/p/8490822.html