lambda:
lambda函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方。
1,使用python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简;
2,对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题;
3,使用lambda在某些时候让代码更容易理解
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。
lambda语句构建的其实是一个函数对象:g = lambda x:x**2
reduce为逐次操作list里的每项,接收的参数为2个,最后返回的为一个结果
python的内建函数:
1.绝对值 abs()
2. max() min() 最大值,最小值
3. len() 序列或字符串的的长度
4. divmod() 取得两个数的商或者膜
5. pow(x,y,[,z]) 计算x的y幂,并除以z
6. round() 返回一个浮点数
7. callable() 测试某一个函数是否可被调用
8. isinstance() 用来判断某一函数的类型
9. cmp() 用来比较两个字符串是否一样,一样的话,返回0
10. range() 用来快速生成序列
11. xrange() 用来快速生成序列 ,生成器
类型转化函数:
1. type() 6. str() 11. chr()
2. int() 7. list() 12. ord()
3. long() 8. tuple()
4. float() 9. hex()
5. complex() 10. oct()
str.capitalize() 字符串首字母大写的操作
str.replace() 字符串的替换
str.split() 字符串的分割
序列处理函数
1. filter() 如果值正确的,保留正确值
2. zip() 将几个列表合在一起
3. map() 和zip一样 但列表要加None
4. reduce()
模块:
模块是python组织代码的基本方式;
python的脚本都是用扩展名为Py的文本文件保存的,一个脚本可以单独运行,也可以导入另一个脚本中运行。当脚本被导入运行时,我们将其称为模板(module)。
模块名与脚本的文件名相同
例如--我们编写了一个名为ajiang.py的脚本,则可在另外一个脚本中用import ajiang 语句来导入它。
python的模块可以按目录组织为包:
创建一个包的步骤是:
建立一个名字为包名字的文件夹;
在该文件夹下创建一个__init__.py的文件;
根据需要在该文件夹下存放脚本文件、已编译扩展及子包;
可以用import,import as,from import等语句导入模板和包
正则表达式:
正则表达式(或RE)是一种小型的、高度的专业化的编程语言,(在python中)它内嵌在python中,并通过re模块实现。
可以为想要匹配的相应字符串集指定规则
该字符串集可能包含英文语句、e-mail地址、命令或任何你想搞定的东西
可以问诸如“这个字符串匹配该模式吗?”
正则表达式模式被编译成一系列的字节码,然后用C编写的匹配引擎执行
正则表达式语言相对小型和受限(功能有限)
并非所有字符串处理都能用正则表达式完成
字符匹配:
普通字符
大多数字母和字符一般都会和自身匹配
如正则表达式test会和字符串“test”完全匹配
元字符
. ^ $ * + ? {} [ ] \ | ()
\
反斜杠后面可以加不同的字符以表示不同特殊意义
也可以用于取消所有的元字符,如\[ 或者\\
\d 匹配任何十进制数;它相当于类[0-9]
\D匹配任何非数字字符;它相当于类[^0-9]
\s 匹配任何空白字符;它相当于类[\t\n\r\f\v]
\S匹配任何非空白字符;它相当于类[^\t\n\r\f\v]
\w匹配任何字母数字字符;它相当于类[a-zA-Z0-9]
\W匹配任何非字母数字字符;它相当于类[^a-zA-Z0-9]
使用正则表达式:
re模块提供了一个正则表达式引擎的接口,可以让你将REstring编译成对象并用它们来进行匹配。
编译正则表达式:
#!/python
>>>import re
>>>p = re.compile('ab*')
>>>print p
re.compile()也接受可选的标志参数,常用来实现不同的特殊功能和语法变更
阅读(951) | 评论(0) | 转发(0) |