Python 学习散记
del:
用法:
eg:a = [0,1,2,3]
del a[0]
print a # 得到 1,2,3
特别:
del 删除不会删除数据,只是不再指向而已
eg:a = [0,1,2,3]
b = a
del a
print b # 得到 0,1,2,3
decode 和 encode:
字符串在 python 里面是用 unicode 保存的,unicode 可以认为是一种中间体
eg:
str1.decode('utf-8') #表示把类型为utf-8的字符串str1变成 unicode
str1.encode('utf-8') #表示把类型 unicode 的字符串str1变成 utf-8 的字符串
查看系统的默认编码方式:
import sys
sys.getdefaultencoding()
来自:http://www.2cto.com/kf/201207/142453.html
findall:
用法:
str1 = re.findall('正则表达式',unicodepage,re.S)
解释:
unicodepage 代表一个 unicode 类型的字符串
正则表达式代表搜索的方式
re.S代表 任意匹配模式,意思就是可以匹配\n也就是可以多行
具体看 :http://xiaofeng1982.blog.163.com/blog/static/3157245820117124555434/
更多模式:http://blog.csdn.net/pleasecallmewhy/article/details/8929576
特别:
一大收获啊!!正则表达式的()隐藏用法? //反正我之前没理解
比如,re.findall( regExp, unicodepage )
如果 regExp = 'abc.*?abc.*?a' 那么返回的列表是有abc的,比如 ['abc...abc...a']
如果 regExp = 'abc(.*?)abc(.*?)a' 那么返回的列表是没有abc 的,而且,列表会自动切分,比如 返回的是 ['...','...']
time模块:
用法:
import time
time.time()
time.ctime()
解释:
输出当前时间化成秒
输出当前时间
if __name__=="__main__"
解释:
每个模块都有个__name__,假如模块不是被别人调用,那么__name__默认为__main__,否则为文件名
?所以这个语句用来测试,模块是不是被调用的,具体实际意义未知,留问号
enumerate:
用法:
lst = [(1,2),(3,4),(5,6)]
for i,t in lst:
print i,t #输出 1 2 3 4 5 6
for i,t in enumerate(lst):
print i,t #输出 0 (1,2) 1 (3,4) 2(5,6) 带标号