python学习笔记(一)

1、 BeautifulSoup是一个很好用的Python写的一个HTML/XML的解析器,它可以处理不规范标记并生成剖析树(parse tree)。Beautifulsoup可以对便签Object进行操作。
tag (对应html中的标签)
tag.attrs (以字典形式返回tag的所有属性)
可以直接对tag的属性进行增、删、改;

2、python正则表达式结果中,re.search.group()用来提取分组匹配截获的字符串,()内的数字用来表示分组
1)group() 同group(0)就是匹配正则表达式整体结果
     group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分,以此类推;
2.)没有匹配成功的,re.search()返回None;
3.)正则则表达式中没有括号,group(1)报错。

3、re.match与re.search的区别:re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配;re.sub用于替换字符串中的匹配项;可以使用re.split来分割字符串,如:re.split(r's+', text);将字符串按空格分割成一个单词列表;

4、lambda:这是Python支持一种有趣的语法,它允许你快速定义单行的最小函数,类似与C语言中的宏;定义后直接可以给函数名赋值

>>> g = lambda x: x * 2 
>>> g(3) 
6 
>>> (lambda x: x * 2)(3) 
6

5、raw_input('input a number:')然后加强制类型转换,下面程序用来测试循环用时,差不多10^7时候会有明显的延迟。

x = int(raw_input('input a number:'))
i=0
while i < x:
    i=i+1
print i

6、中文编码问题

#-*-coding:utf-8-*-  
s='哈哈'
ss=u'哈哈'
print s.decode('utf-8')
print ss
print("Anyway It's here,"+u"好的")

GBK是中国对中文编码的标准,utf-8是国际对所有非英文编码的标准。 

IDLE对中文支持不好,在ubuntu环境下直接print s不会显示乱码 

chardet.detect()可以用于检测编码类型。

7、map()----函数依次作用于list内每一个元素、reduce()----函数依次作用于list内元素,其中第一个参数为上一次函数运算结果,第二个参数为list内的下一元素、filter()----list内元素运算结果为如果为True,则返回该元素,否则不返回

8、range()、enumerate()、zip()

9、想知道某个函数可以接受那些参数时,可以用inspect.getargspec()来查询

10、

a)程序中出现字符串一定要加个前缀u;

b)不要用str(),要用unicode();

c)非必须不在程序里面编解码unicode字符,除非写入文件、数据库或者网络,才调用encode,相应的,把数据读回来的时候才调用decode().

11、print 末尾默认加回车换行,如不需要可以加一个,

12、

dir()用来查询一个类或者对象所有属性。你可以尝试一下

>>>print dir(list)

help()用来查询的说明文档。你可以尝试一下

>>>print help(list)

原文地址:https://www.cnblogs.com/woodyle/p/4642706.html