Python學習基礎知識概要

爬蟲代理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])
相關文章
相關標籤/搜索