1、本地数据的获取
文件的打开
file_obj = open(filename, mode='r', buffering=-1)
mode是可选参数,默认值是r,buffering也是可选参数,默认值是-1,0代表不缓冲,1表示缓冲
r+=r+w
w+=w+r
a+=a+r
注意:w和w+都需要清空原文件的内容,a和a+只能在文件尾部追加,如果在中间添加只能使用r+
open()函数返回的是一个文件对象
常用函数:
file.write(str)写入字符串str
file.read(size)读文件直到文件结束,返回一个字符串
file.readlines()返回一个列表可以读取每一行的文件,读取的时候,带着换行符,需要程序员自己去除
file.seek(offset,whence=0)在文件中移动文件指针,whence(0表示文件的头部,1表示文件的当前位置,2表示文件的尾部),偏移offset个字节
2、网络数据获取
抓取互联网上的数据,常用的库
urllib、urllib2、httplib和httplib2
其中前三个是python的标准库,最后一个是http的专有库
import urllib
r=urllib.urlopen('http://blog.csdn.net')
html=r.read()
print html
3、序列
序列的下标是从0开始的,索引可以从0到N-1,也可以从-1到-N,也可以访问多个元素,被称为切片
[1:4]从1开始到4-1结束,不包括4
str = 'Hello, World!' 字符串
aList = [2, 3, 5, 7, 11] 列表
aTuple = ('Sunday', 'happy') 元组
标准类型运算符
< > != == and or not is is not
值比较、布尔运算和对象身份比较
序列类型转换工厂函数
list()、str()和tuple()比较常用,分别转换为列表、字符串和元组
序列类型中有很多的內建函数
len()、sorted()、max()、sum()和reversed()
4、字符串
如果字符串很长,可以使用三引号,使用三引号,字符串里面的内容不变
格式运算符
format_string % (arguments_to_convert)
字符串有很多內建函数
split() 切分字符串
strip() 去掉字符串中的空格
字符串中海油很多转义字符
\r 回车 \n 换行 \e转义
5、列表
列表是一种可扩展的容器对象,列表是可变的,字符串是不可变的
extend() 合并列表
enumerate() 遍历列表经常用到
for index, item in enumerate(sequence):
process(index, item)
index默认是从0开始
list.sort(func=None,key=None, reverse=False)
列表解析
[x ** 2 for x in range(10) if x ** 2 < 50]
6、元组
元组是不可变的,元组用圆括号表示 ,跟列表最大的区别就是元组里面的元素不能改变
元组主要用作什么地方?
在映射类型中当做键使用,函数的特殊类型参数,作为很多內建函数的返回值
元组作为函数的形式参数
def func(args1, *argst):
print args1
print argst
func('Hello,','Wangdachui','Niuyun','Linling')
Hello,
('Wangdachui', 'Niuyun', 'Linling')
返回值为元组的函数
enumerate()
如果函数返回对象的个数为0,返回None
如果函数返回对象的个数为1,返回object
如果函数返回对象的个数为>1,返回tuple
7、字典
Python中唯一內建的一种映射类型,key-value
创建字典:直接创建或者使用dict函数
key:value
函数
adict={}.fromkeys(('lisi','zhangsan','wangwu','maliu'),3000)
{'lisi': 3000, 'maliu': 3000, 'wangwu': 3000, 'zhangsan': 3000}
zip函数
aDict=dict(zip(alist,blist))
keys() values()
adict.keys() adict.values() adict.get('XXX') adict.has_key('XXX')
update()更新字典
aInfo = {'Wangdachui': 3000, 'Niuyun':2000, 'Linling':4500}
bInfo = {'Wangdachui': 4000, 'Niuyun':9999, 'Wangzi':6000}
aInfo.update(bInfo)
字典输出
for key in adict.keys():
print 'the key is =%s,the value is =%s' % (key,adict[key])
---------------------------------------
'the key is %(lisi)s,the value is ' % adict
8、集合
一个无序不重复的元素的集合
可变集合set和不可变集合frozenset
aset=set('hello')
{'e', 'h', 'l', 'o'}
'o' in aset
集合中的>、<不是比较大小是包含的意思
&表示交集,|表示并集,-表示去差,属于前一个集合不属于后一个集合
^对称差分