爬蟲代理IP由芝麻HTTP服務供應商提供php
一、輸入輸出java
輸出實例python
print 'hello','world' hello world
輸入實例數組
name = raw_input(); print "hello,",name world hello,world
輸入時提示實例app
name = raw_input('please enter your name:'); print "hello,",name please enter your name:world hello,world
raw_input 函數讀入的是字符串,若是想要轉換成int類型,就要用到int函數。函數
birth = int(raw_input('birth: '))
二、字符表示編碼
十進制正常表示,十六進制最前面加 0x,小數正常表示,科學計數法表示 1.23×109就是1.23e9,或者 12.3e8代理
轉義符 \code
轉義符實例:對象
>>> print '\\\n\\' \ \
防止轉義,能夠在前面加入 r
>>> print '\\\t\\' \ \ >>> print r'\\\t\\' \\\t\\
多行內容表示,用三引號包括
>>> print '''line1 ... line2 ... line3''' line1 line2 line3
布爾值的表示 True 和 False
>>> 3 > 2 True
空值 None,至關於Java,C 中的 null
>>>print None==None True
Unicode表示的字符串用 u’…’ 表示,轉化成 UTF-8 編碼
>>> u'ABC'.encode('utf-8') 'ABC' >>> u'中文'.encode('utf-8') '\xe4\xb8\xad\xe6\x96\x87'>
文本文件編碼
#!/usr/bin/env python # -*- coding: utf-8 -*-
三、格式化
格式化輸出實例
>>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you have $1000000.'
格式化整數和小數
>>> '%2d-%02d' % (3, 1) ' 3-01' >>> '%.2f' % 3.1415926 '3.14'
萬能格式化 %s,能夠代替全部格式化
對於Unicode字符串,用法徹底同樣,但最好確保替換的字符串也是Unicode字符串:
>>> u'Hi, %s' % u'Michael' u'Hi, Michael'
輸出百分號 %,用雙 % 便可
>>> 'growth rate: %d %%' % 7 'growth rate: 7 %'
四、列表LIST
列表 list ,可變的有序表
>>> classmates = ['Michael', 'Bob', 'Tracy'] >>> classmates ['Michael', 'Bob', 'Tracy']
len函數獲取它的長度
>>> len(classmates) 3
取得某個元素,能夠用中括號索引
>>> classmates[0] 'Michael' >>> classmates[1] 'Bob' >>> classmates[2] 'Tracy' >>> classmates[3] Traceback (most recent call last):
倒數索引
>>> classmates[-1] 'Tracy' >>> classmates[-2] 'Bob' >>> classmates[-3] 'Michael' >>> classmates[-4] Traceback (most recent call last):
append 追加元素到末尾
>>> classmates.append('Adam') >>> classmates ['Michael', 'Bob', 'Tracy', 'Adam']
insert 插入到指定位置
>>>> classmates.insert(1, 'Jack') >>> classmates ['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
pop 刪除末尾元素
>>> classmates.pop() 'Adam' >>> classmates ['Michael', 'Jack', 'Bob', 'Tracy']
pop 加入參數刪除指定元素
>>> classmates.pop(1) 'Jack' >>> classmates ['Michael', 'Bob', 'Tracy']
元素改變,直接賦值便可
>>> classmates[1] = 'Sarah' >>> classmates ['Michael', 'Sarah', 'Tracy']
list能夠嵌套,可用二維索引
>>> s = ['python', 'java', ['asp', 'php'], 'scheme'] >>> s[2][1] php
空列表
>>> L = [] >>> len(L) 0
五、元組tuple
不可變有序的數組
定義元組
>>> classmates = ('Michael', 'Bob', 'Tracy') >>> classmates ('Michael', 'Bob', 'Tracy')
空的元組
>>> classmates = () >>> classmates ()
一個元素的元組
>>> t = (1,) >>> t (1,)
注意不能用 t = (1) 來定義, 由於它定義的不是tuple,是 1 這個數,這是由於括號既能夠表示tuple,又能夠表示數學公式中的小括號,這就產生了歧義,所以,Python規定,這種狀況下,按小括號進行計算,計算結果天然是1。
表面上可變的tuple
>>> t = ('a', 'b', ['A', 'B']) >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t ('a', 'b', ['X', 'Y'])
表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list並無改爲別的list,因此,tuple所謂的「不變」是說,tuple的每一個元素,指向永遠不變。即指向 ‘a’,就不能改爲指向 ‘b’ ,指向一個list,就不能改爲指向其餘對象,但指向的這個list自己是可變的!
六、字典dict
字典 dict 即鍵值對組,dict的key必須是不可變對象。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95
把數據放入dict的方法,除了初始化時指定外,還能夠經過key放入,在這以前,d 必須被聲明,不然會報錯
>>> d['Adam'] = 67 >>> d['Adam']
判斷key是否在字典中
1. in 判斷
>>> 'Thomas' in d False
2. 經過dict提供的get方法,若是key不存在,能夠返回None,或者本身指定的value
>>> print d.get('Thomas') None >>> print d.get('Thomas', -1) -1
要刪除一個key,用 pop(key) 方法,對應的value也會從dict中刪除
>>> d.pop('Bob') 75 >>> d {'Michael': 95, 'Tracy': 85}
七、集合set
set和dict相似,也是一組key的集合,但不存儲value。因爲key不能重複,因此,在set中,沒有重複的key。
要建立一個set,須要提供一個list做爲輸入集合:
>>> s = set([1, 2, 3]) >>> s set([1, 2, 3])
重複元素在set中自動被過濾:
>>> s = set([1, 1, 2, 2, 3, 3]) >>> s set([1, 2, 3])
經過 add(key) 方法能夠添加元素到set中,能夠重複添加,但不會有效果:
>>> s.add(4) >>> s set([1, 2, 3, 4]) >>> s.add(4) >>> s set([1, 2, 3, 4])
經過 remove(key) 方法能夠刪除元素:
>>> s.remove(4) >>> s set([1, 2, 3])
判斷元素是否在set中
>>> 5 in s True
set能夠當作數學意義上的無序和無重複元素的集合,所以,兩個set能夠作數學意義上的交集、並集等操做:
>>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 & s2 set([2, 3]) >>> s1 | s2 set([1, 2, 3, 4])