python學(xué)習(xí)筆記
做了296道python的編程題目,完成了python的入門,當(dāng)然我是有C++,C#的基礎(chǔ),貌似我記得之前CSDN有個很火的學(xué)python的女模特,現(xiàn)在沒消息了......
做的過程可以得到各種成就徽章,如同升級打怪一般
學(xué)習(xí)的過程做了點筆記
?
單行注釋用#
多行注釋用左右分別三個雙引號""" ?內(nèi)容 ?"""
加減乘除一樣,冪是**
轉(zhuǎn)義字符同理
字符串下標(biāo)從0開始,同理
字符串常用方法:len():len(var)
lower()、upper(),是var的成員方法
str方法將非字符串轉(zhuǎn)成字符串:str(3.14)
字符串拼接用 +
字符串不能和非字符串拼接,所以要用str()
日期
{ from datetime import datetime?
ti=datetime.now
}
與或非 用 and or not
條件 if express:
????? ? ????xxxxxxx
????? ? elif express:
????? ????? xxx
????? ? else:
????????? ? xxxxx
字符串的范圍訪問,str[i:j],j沒有則到最后,從i到j(luò)-1
函數(shù)傳遞不定參數(shù)時,前面加 *
from module import function
from module import *
type()函數(shù)返回數(shù)據(jù)類型
list類型定義 l=[x,x,x] , 可以隨機(jī)訪問,可以更改內(nèi)容,可以追加.append(xxxx)
.index(),返回內(nèi)容的下標(biāo)
list的遍歷用for variable in list:
del , pop 都可以根據(jù)下標(biāo)移除list的元素,但pop會有返回值
remove函數(shù)根據(jù)值刪除
list的分割[x:y:z] 從[x,y]中,間隔z步長選取元素
z=1時,即[x,y]的所有元素;
z=-1是,即[x,y]的逆序
dict定義
d = {'key1' :1,'key2'
:2,'key3'
:3}
通過鍵來訪問,d['key']
通過d['key']=value 來追加數(shù)據(jù),或者改變值
del d['key']來移除數(shù)據(jù)
遍歷for key in d:
????? ? d[key]
分隔符.join(list) ,將list的元素拼接起來,中間是分隔符
如' '.join(a)表示將a的元素拼接,中間用空格隔開
隨機(jī)數(shù)模塊random的randint(x,y),是【x,y】閉區(qū)間
強(qiáng)制類型轉(zhuǎn)換用類型函數(shù),如int()返回一個十進(jìn)制數(shù)。
第二個參數(shù)表示數(shù)字的進(jìn)制,如int("1010",2)表示1010是二進(jìn)制數(shù),結(jié)果返回10
循環(huán):while的寫法跟if寫法同樣形式
while - else :其中的else是while的條件不滿足時才執(zhí)行,通常用來處理循環(huán)完后的工作;如果有break跳出循環(huán),else不會執(zhí)行
for - else:同上
enumerate(lst)可以產(chǎn)生( index,value)的序列
zip(lst1,lst2,..)將列表合成一個元組,這個元組的第i個元素是(lst1[i],lst2[i],....)
匿名函數(shù)
lambda variable: expression
如lambda x : x%2==0
位運算:
&|^~:與,或,異或,非
左移右移同理
二進(jìn)制數(shù)前綴為0b,如0b100
bin()函數(shù)將十進(jìn)制轉(zhuǎn)成二進(jìn)制
另外八進(jìn)制和十六進(jìn)制有oct()和hex()
類的使用,主要形式如下
class XXX:
? ? ssss="all"
? ? def __init__(self,aaa,bbb,ccc,ddd......):
????? ? self.aaa=aaa
????? ? self.bbb=bbb....
? ? def ?method(self):
????? ? print(self.aaa)
? ? def methodOTHER(self,a,b):
????? ? self.aaa+=a
構(gòu)造方法是__init__()
關(guān)于成員數(shù)據(jù),可以像C++那樣定義,如上面的ssss,或者通過構(gòu)造函數(shù)的第一個參數(shù),一般命名為self
關(guān)于成員函數(shù),函數(shù)參數(shù)必須有一個,第一個必然為為對象的實例,調(diào)用時不用管self參數(shù)
成員數(shù)據(jù)外面可以更改,相當(dāng)于public的狀態(tài),里面更改必然要前面加上self.如self.ssss="ddd"
類的繼承主要是在定義類時在括號里面寫上父類
class B(A):
調(diào)用父類的方法super(DerivedClass, self).method(arg)
第一個是子類名,self,arg組成父類函數(shù)的參數(shù)
__repr__() ??representation方法相當(dāng)于C++的“<<",在print(v)輸出
文件讀寫
file=open("file.txt","w"), 跟C語言一樣
file.write(str)參數(shù)為字符串
file.read()讀完文件,返回字符串
file.readline()讀一行
file.close()
文件的自動關(guān)閉 with open("out.txt","w") as my_file:
????????????????????????????? ? my_file.write("dd")
關(guān)閉與否字段my_file.closed能指示文件的關(guān)閉情況