Python學(xué)習(xí)知識清單
基礎(chǔ)語法。
Pyhton與C語言有一定的聯(lián)系,但要注意一下兩種思維方式的不同。
列表的使用。
定義空列表。
List = [ ]
列表的長度
len(list)
列表的組合
list1 += list2
判斷元素x是否位于列表
if x in list:
列表的遍歷(正序逆序,和附加索引的遍歷)
for x in list:(正序)
for x in list[::-1]:(逆序)
index(索引) value(值) enumerate(sequence, [start=0])
sequence – 一個序列、迭代器或其他支持迭代對象。
start –> 下標(biāo)起始位置。
例如1:
list = [1,2,3,4]
for index, value in enumerate(list):
print(index, value)
運(yùn)行結(jié)果:
list = [1,2,3,4]
for index, value in enumerate(list,start=2):
print(index, value)
例如2:
list = [1,2,3,4]
for index, value in enumerate(list,start=2):
print(index, value)
運(yùn)行結(jié)果:
2 1
3 2
4 3
5 4
求列表元素的最大最小值
max(list)
min(list)
求列表元素的平均值(前提列表元素都是數(shù)字)
sum(list) / len(list)
在列表末尾添加新的對象X
list.append(X)
統(tǒng)計某個元素X在列表中出現(xiàn)的次數(shù)
list.count(X)
#在列表末尾一次性追加另一個序列中的多個值(用新列表擴(kuò)展原來的列表)
list.extend
從列表中找出某個值value第一個匹配項的索引位置
list.index(value)
將對象value插入列表某位置index
list.insert(index, value)
移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值 list.pop([index = -1])
使用方法:
>>> list = [1,2,3,4]
>>> list.pop(1)
2
>>> list
[1, 3, 4]
移除列表中某個值value的第一個匹配項
list.remove(value)
反轉(zhuǎn)列表中元素
list.reverse
對原列表進(jìn)行排序(正序逆序,關(guān)鍵字排序,這個自己百度
list.sort( key=None,reverse=False)
清空列表
list.clear
復(fù)制列表
list.copy
刪除列表元素
del list[index]
字典的使用。
創(chuàng)建空字典
dict = { }
判斷元素是否在字典
If key in dict:
計算字典元素個數(shù)
len(dict)
添加元素到字典
dict[key] = value
update方法
如果存在則更新,不存在則添加
dict.update({key:value})
示例:
>>> d = {1:2,2:3}
>>> d.update({3:4})
>>> d
>>> d.update({3:5})
>>> d
字典的get方法
字典 get 函數(shù)返回指定鍵的值,如果值不在字典中返回默認(rèn)值。
key – 字典中要查找的鍵。
default – 如果指定鍵的值不存在時,返回該默認(rèn)值值。
遍歷字典
for key, value in dict.items:
字典鍵
dict.keys
字典值
dict.values
刪除鍵
del dict[key]
刪除字典
del dict
清空字典
dict.clear
集合的使用
創(chuàng)建一個集合
s = {x1,x2,x3……}
# (創(chuàng)建空集合)
s = set
在集合中添加一個新的元素e;如果元素已經(jīng)存在,則不添加
s.add(e)
從集合中刪除一個元素,如果元素不存在于集合中,則會產(chǎn)生一個KeyError錯誤
s.remove(e)
從集合S中移除一個元素e;
s.discard(e)
清空集合內(nèi)的所有元素
s.clear
從集合S中刪除一個隨機(jī)元素;如果此集合為空,則引發(fā)KeyError異常
s.pop
計算元素個數(shù)
len(s)
判斷元素e是否存在于s
If e in s:
If e not in s:
對于集合X,Y
差集
X – Y
并集
X | Y
交集
X & Y
對稱差集(項在t或s中,但不會同時出現(xiàn)在二者中)
X ^ Y
判斷集合的包含關(guān)系
例如:(X 包含 Y,Y ? X )
>>> X = {1,2,3,4,5,6}
>>> Y = {2,3,4,5}
>>> X > Y
True
>>> X >= Y
True
>>> X < Y
False
實(shí)戰(zhàn)1:(校賽試題)
題目描述:
詳見
OJ 2522: 咕咕的的復(fù)復(fù)讀讀機(jī)機(jī)
大意:輸入n和n個數(shù)字,求出現(xiàn)次數(shù)最多的數(shù)字。
示例代碼:
n = int(input)
#輸入n
L =list(map(int, input.split))
#n個數(shù)字存入到L列表
print(max(set(L), key = L.count))
#求出出現(xiàn)次數(shù)最多的數(shù)字
實(shí)戰(zhàn)2:(校賽試題)
題目描述
詳見
OJ 2521: 文本修正
大意:讀取一行字符串,如果是單詞且是’henan’則變?yōu)椤疕enan’
示例代碼:
//s = input.split
現(xiàn)在的s是存儲字符串的列表
s = input.split
# 讀取一行字符串,用空格分隔單詞
for i in s:
# 遍歷字符串的單詞
if i == 'henan':
# 滿足條件,改變且輸出
print('Henan', end=' ')
else:
print(i, end=' ')
注:今年校賽解出兩題且總時長60分鐘以內(nèi)就可以拿獎。
分支語句
基本形式
If ………:
elif ………:
elif ………:
else ………:
且——或關(guān)系
在A和B條件下
If A and B:
If A or B:
特殊用法(連續(xù)判斷)
>>> X = 22
>>> if 20 <= X <= 30:
print(X)
22
>>> 20 <= X <= 30
True
判斷存在/不存在;是/不是
If x (not) in s:
If x (not) is s:
循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)和C語言類似。
for in ……:
else:
while (條件):
else:
循環(huán)體加else語句,循環(huán)正常結(jié)束才執(zhí)行的。
思考。循環(huán)了幾次?
>>> for i in range(6):
i += 3
答案是6次
函數(shù)
定義函數(shù)的規(guī)則:
1、函數(shù)代碼塊以def關(guān)鍵字開頭,后接函數(shù)表示符名稱和圓括號。
2、任何傳入?yún)?shù)和自變量必須放在圓括號中間,圓括號之間可以用于定義參數(shù)。
3、函數(shù)的第一行語句可以選擇性地使用文檔字符串-用于存放函數(shù)說明
4、函數(shù)內(nèi)容以冒號起始,并且縮進(jìn)
5、return[表達(dá)式]結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方,不帶表達(dá)式的return相當(dāng)于返回None。
全局變量
global 保留字
1.位置參數(shù)傳遞
2.關(guān)鍵字傳遞
關(guān)鍵字(keyword)傳遞是根據(jù)每個參數(shù)的名字傳遞參數(shù)。關(guān)鍵字并不用遵守位置的對應(yīng)關(guān)系。
def fun(a,b,c)
return a+b+c
print(f(1,c=3,b=2))
3.參數(shù)默認(rèn)值
在定義函數(shù)的時候,使用形如c=10的方式,可以給參數(shù)賦予默認(rèn)值(default)。如果該參數(shù)最終沒有被傳遞值,將使用該默認(rèn)值。
def f(a,b,c=10):
return a+b+c
print(f(3,2))
print(f(3,2,1))
在第一次調(diào)用函數(shù)f時, 我們并沒有足夠的值,c沒有被賦值,c將使用默認(rèn)值10.第二次調(diào)用函數(shù)的時候,c被賦值為1,不再使用默認(rèn)值。
4.包裹傳遞/收集參數(shù)
可以傳遞任意個參數(shù)
5.解包裹
類
Python類與實(shí)例化
面向?qū)ο笞钪匾母拍罹褪穷悾–lass)和實(shí)例(Instance),必須牢記類是抽象的模板,而實(shí)例是根據(jù)類創(chuàng)建出來的一個個具體的“對象”,每個對象都擁有相同的方法,但各自的數(shù)據(jù)可能不同。
類的封裝
封裝,顧名思義就是將內(nèi)容封裝到某個地方,以后再去調(diào)用被封裝在某處的內(nèi)容。
類的方法
在類地內(nèi)部,使用 def 關(guān)鍵字來定義一個方法,與一般函數(shù)定義不同,類方法必須包含參數(shù) self, 且為第一個參數(shù),self 代表的是類的實(shí)例。
類的繼承
定義父類
子類繼承父類
(山東掌趣網(wǎng)絡(luò) 時間倉促,以上沒有涉及的知識點(diǎn)請自己查找相關(guān)的資料)
聯(lián)系客服