- 循環(huán)和條件語句都要有
:
- 標(biāo)準(zhǔn)的條件結(jié)構(gòu):
if xxx...:
blabla
elif xxx...:
blabla...
else:
blabla...
python 有一些關(guān)鍵字和C不一樣醇疼,比如說
and
,or
,not
,in
之類的len
和del
不是list和dic的方法join
是string的方法魔种,因為返回的是一個string()
- 元組[]
- 數(shù)組{}
- 字典print
可以這樣用print(string, number)
**
是python中的冪操作符string
不可變瞻鹏,list
扼倘,dict
可變string
可以使用*
和+
list
可以使*
和+
這樣也可以強勢插入(盡管推薦使用insert和append函數(shù)):
alist = ['a', 'd', 'f']
alist[1:1] = ['b', 'c'] # [`a`, 'b', 'c', 'd', 'f']
print alist
alist[4:4] = ['e'] # [`a`, 'b', 'c', 'e', 'd', 'f']
print alist
- variable refers to object.
- 不可變的類型巢块,比如string暇韧,被python優(yōu)化為
相同的string指向同一地址
。但對于不可變的類型比如list和dic則指向不同的地址廊宪。
a = 'banana'
b = 'banana'
print(a==b) #True
print(a is b) #True
print("next part...\n")
aList = ['1', 1]
bList = ['1', 1]
print(aList == aList) #True
print(aList is bList) #False
bList[1] = 'haha'
print(aList) #['1', 1]
print('next part...\n')
- alias操作的意思是
起個別名
矾瘾,這個對于mutable的數(shù)據(jù)類型尤其需要注意,python會默認(rèn)將他們優(yōu)化為 指向相同的內(nèi)存地址箭启。
alist = [4,2,8,6,5]
blist = alist
print(alist == blist) #True
print(alist is blist) #True
blist[3] = 999
print(alist) #[4, 2, 8, 999, 5]壕翩,這里改的是blist,alist也跟著變了
# 如果要深拷貝數(shù)組:
blist = alist[:]
print(alist == blist) #True
print(alist is blist) #False
# 字典的話請使用內(nèi)部函數(shù)copy
acopy = opposites.copy()
acopy['right'] = 'left' # does not change opposites
-
for可以遍歷item也可以遍歷index:
- 遍歷item:
for item in alist:
傅寡; - 遍歷index:
for i in range(len(list)):
- 遍歷item:
最簡單的文件操作方式:
filename= "yourfile.txt"
fileref = open(filename,"r")
for lin in fileref: # 比readlines要好放妈,因為不需要一次讀取整個文件
## operations on lin
fileref.close()
dic在賦值的時候北救,如果key不存在,會立刻創(chuàng)建一個key而不會有runtime error大猛。
函數(shù)參數(shù)的默認(rèn)值是在定義(define)的時候決定的扭倾,而不是在調(diào)用(invoke/call)的時候。比如說:
value = 10
def f(x = value):
print("x is:", x)
value = 1
f() # x is 10
- 函數(shù)參數(shù)的默認(rèn)值如果是可變對象的話挽绩,這個對象會在每次調(diào)用的時候共享。比如說:
def f(a, L=[]):
L.append(a)
return L
print f(1)
print f(2)
print f(3)
print f(4, ["Hello"])
print f(5, ["Hello"])
- 單元素tuple的聲明需要在最后加上逗號驾中,否則會被看作基本類型
t = (5,)
print type(t)
x = (5)
print type(x)