變量定義為動態變量,不需要設定類型
Python區分大小寫 布爾值為True False
字符串 raw代表多行 例如 print ''' ...'''
數組操作
list操作 增加為 append insert(key,value) 刪除操作使用pop總是刪除最后一個
>>> t = ['Adam', 'Lisa', 'Bart']
Python之創建tuple tuple是另一種有序的列表,中文翻譯為“ 元組 ”。tuple 和 list 非常類似,但是,tuple一旦創建完畢,就不能修改了。
同樣是表示班里同學的名稱,用tuple表示如下:
>>> t = ('Adam', 'Lisa', 'Bart')
創建tuple和創建list唯一不同之處是用( )替代了[ ]。
t = ('a', 'b', ['A', 'B'])list包含在tuple中是可變的
注意: Python代碼的縮進規則。
具有相同縮進的代碼被視為代碼塊,上面的3,4行 print 語句就構成一個代碼塊(但不包括第5行的print)。如果 if 語句判斷為 True,就會執行這個代碼塊。
縮進請嚴格按照Python的習慣寫法:4個空格,不要使用Tab,更不要混合Tab和空格,否則很容易造成因為縮進引起的語法錯誤。
注意: if 語句后接表達式,然后用:表示代碼塊開始。
如果你在Python交互環境下敲代碼,還要特別留意縮進,并且退出縮進需要多敲一行回車:
>>> age = 20
>>> if age >= 18:
... print 'your age is', age
... print 'adult'
...
your age is 20
adult
Python的 for 循環就可以依次把list或tuple的每個元素迭代出來:
L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name
Python之什么是dict
- dict的第一個特點是查找速度快,無論dict有10個元素還是10萬個元素,查找速度都一樣。
- dict的第二個特點就是存儲的key-value序對是沒有順序的!
- dict的第三個特點是作為 key 的元素必須不可變
Python的 dict 就是專門干這件事的。用 dict 表示“名字”-“成績”的查找表如下:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}```
我們把名字稱為key,對應的成績稱為value,dict就是通過 key 來查找 value。注意: 通過 key 訪問 dict 的value,只要 key 存在,dict就返回對應的value。如果key不存在,會直接報錯:KeyError。
#要避免 KeyError 發生,有兩個辦法:
一是先判斷一下 key 是否存在,用 in 操作符:
if 'Paul' in d:
print d['Paul']
如果 'Paul' 不存在,if語句判斷為False,自然不會執行 print d['Paul'] ,從而避免了錯誤。
二是使用dict本身提供的一個 get 方法,在Key不存在的時候,返回None:
print d.get('Bart')
59
print d.get('Paul')
None
set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重復,而且是無序的,這點和 dict 的 key很像。
- set的內部結構和dict很像,唯一區別是不存儲value,因此,判斷一個元素是否在set中速度很快。
- set存儲的元素和dict的key類似,必須是不變對象,因此,任何可變對象是不能放入set中的。
創建 set 的方式是調用 set() 并傳入一個 list,list的元素將作為set的元素:
s = set(['A', 'B', 'C'])```
請注意,上述打印的形式類似 list, 但它不是 list,仔細看還可以發現,打印的順序和原始 list 的順序有可能是不同的,因為set內部存儲的元素是無序的。
set.add(),set.remove()
我們以自定義一個求絕對值的 my_abs 函數為例:
def my_abs(x):
if x >= 0:
return x
else:
return -x
如果想讓一個函數能接受任意個參數,我們就可以定義一個可變參數:可變參數的名字前面有個 * 號,我們可以傳入0個、1個或多個參數給可變參數:
def fn(*args):
print args