python計算機二級忽視點整理
根據(jù)2018版計算機二級python考試大綱整理與我個人不熟悉或不懂的地方整理
公共基礎(chǔ)部分
看看這位老哥的
公共基礎(chǔ)部分點擊查看
python語法元素
看看這位老哥的
Python語法元素
python特點
大約是以下幾點
- 解釋性語言
- 動態(tài)類型
- 面向?qū)ο?/li>
- 高可讀性與易學(xué)習(xí)
format格式輸出
'{0:abcdef }'.format(obj0,obj1,)
a 用于填充的單個字符。
b 對齊的方式(<>^分別代表左右中對齊),
c 槽的設(shè)定輸出寬度。
d 數(shù)字的千位分隔符(“,”用逗號表示),適用于整數(shù)和浮點數(shù)。
e 浮點數(shù)小數(shù)部分的精度或字符串的最大輸出長度。
f 整數(shù)類型b,c,d,o,x,浮點數(shù)類型e,E,f%。
python 異常處理
try:
<語句> #運行別的代碼
except <異常名字>:
<語句> #如果在try部份引發(fā)了'name'異常
except <異常名字>,<數(shù)據(jù)>:
<語句> #如果引發(fā)了'name'異常,獲得附加的數(shù)據(jù)
else:
<語句> #如果沒有異常發(fā)生
finally:
<語句> #該語句中是會被執(zhí)行
python 向腳本文件中傳遞參數(shù)
import sys
print '參數(shù)個數(shù)為:', len(sys.argv), '個參數(shù)。'
print '參數(shù)列表:', str(sys.argv)
函數(shù)的參數(shù)傳遞
必選參數(shù)
默認(rèn)參數(shù)
設(shè)置默認(rèn)參數(shù)時注意事項:必選參數(shù)在前,默認(rèn)參數(shù)在后
默認(rèn)參數(shù)必須指向不變對象!??!原因是:函數(shù)在定義時,默認(rèn)參數(shù)地址已經(jīng)確定,每次調(diào)用該函數(shù)時,如果改變了L的內(nèi)容,則下次調(diào)用時,默認(rèn)參數(shù)的內(nèi)容就會改變
可選參數(shù)
def calc(*numbers):
sum=0
for n in numbers:
sum= sum+n*n
return sum
可變參數(shù):就是傳入的參數(shù)個數(shù)是可變的,可以是1個、2個到任意個,還可以是0個
如何調(diào)用一個list或者tuple,可以如上所示,在list或tuple前面加上一個*號,把list或tuple的元素變成可變參數(shù)傳進(jìn)去
關(guān)鍵字參數(shù)
允許你傳入0個或任意個含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝成一個dict
使用**表示關(guān)鍵字參數(shù)
def person(name,age,**kw):
print('name:',name,'age:',age,'other:',kw)
person('Frank','37')
person('Frank','37',city='Shanghai')
person('Frank','37',gender='M',job='Engineer')
python list
list=[]
#刪除第1個元素
del list[0]
# 列表的重復(fù)
['Hi!'] * 2
# output>['Hi!','Hi!']
#列表的拼接
>>> squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 元素出現(xiàn)次數(shù)統(tǒng)計
list.count(obj)
# list.index(obj)
# 從列表中找出某個值第一個匹配項的索引位置
list.pop([index=-1])
#移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值
list.remove(obj)
# 移除列表中某個值的第一個匹配項
list.reverse()
# 反向列表中元素
list.clear()
# 清空列表
list.copy()
# 復(fù)制列表
python dict
del dict['Name'] # 刪除鍵 'Name'
dict.clear() # 清空字典
del dict # 刪除字典
radiansdict.copy() # 返回一個字典的淺復(fù)制
radiansdict.get(key, default=None)#返回指定鍵的值,如果值不在字典中返回default值
radiansdict.setdefault(key, default=None)#和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設(shè)為default
radiansdict.items() #以列表返回可遍歷的(鍵, 值) 元組數(shù)組
radiansdict.values()#返回一個迭代器,可以使用 list() 來轉(zhuǎn)換為列表
radiansdict.keys()#返回一個迭代器,可以使用 list() 來轉(zhuǎn)換為列表
popitem()#隨機返回并刪除字典中的一對鍵和值(一般刪除末尾對)。
dict.fromkeys(seq[, value])# 函數(shù)用于創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應(yīng)的初始值。
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print ("新的字典為 : %s" % str(dict))
>>>新的字典為 : {'age': None, 'name': None, 'sex': None}
dict = dict.fromkeys(seq, 10)
print ("新的字典為 : %s" % str(dict))
>>>新的字典為 : {'age': 10, 'name': 10, 'sex': 10}
python 文件操作
'w' 覆蓋寫模式,文件不存在則創(chuàng)建,存在則完全覆蓋
'x' 創(chuàng)建寫模式,文件不存在則創(chuàng)建,存在則返回FileExistError
'a' 追加寫模式,文件不存在則創(chuàng)建,存在則在文件最后追加內(nèi)容
‘b’ 二進(jìn)制文件形式
't' 文本文件模式,默認(rèn)值
‘+’ 與r/w/x/a一同使用,在原功能基礎(chǔ)上增加同時讀寫功能
ile.readline([size])#讀取整行,包括 "\n" 字符。
file.readlines([sizeint])#讀取所有行并返回列表,若給定sizeint>0,返回總和大約為sizeint字節(jié)的行, 實際讀取值可能比 sizeint 較大, 因為需要填充緩沖區(qū)。
file.seek(offset[, whence])#設(shè)置文件當(dāng)前位置
file.tell()#返回文件當(dāng)前位置。
file.writelines(sequence)#向文件寫入一個序列字符串列表,如果需要換行則要自己加入每行的換行符。
python csv
import csv
with open('some.csv', 'w') as f:
writer = csv.writer(f)# <class '_csv.writer'> arttr('writerow', 'writerows')
writer.writerows([['1', '2'], ['2', '3'], '3'])
with open('some.csv', 'r+') as f:
reader = csv.reader(f)# <class '_csv.reader'> attrs( line_num)
for row in reader:
print(row) #row is a list
python turtal
import turtle
import time
turtle.screensize(800, 600, 'black',)
# turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數(shù):width, height: 輸入寬和高為整數(shù)時, 表示像素; 為小數(shù)時, 表示占據(jù)電腦屏幕的比例,(startx, starty): 這一坐標(biāo)表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。
turtle.pensize(1) # 設(shè)置畫筆的寬度;
# :沒有參數(shù)傳入,返回當(dāng)前畫筆顏色,傳入?yún)?shù)設(shè)置畫筆顏色,可以是字符串如"green", "red", 也可以是RGB 3元組。
turtle.speed(10000) # 設(shè)置畫筆移動速度,畫筆繪制的速度
turtle.pencolor('green')
distance = 200
degree=5
for i in range(0,360,5):
turtle.forward(distance)
turtle.right(i)
turtle.backward(distance)
turtle.pencolor('yellow')
turtle.circle(-100,)
turtle.dot(100)
turtle.pencolor('green')
distance = 100
degree = 20
for i in range(0, 360, 1):
turtle.forward(distance)
turtle.right(i)
turtle.backward(distance)
python random
# 隨機整數(shù):
random.randint(1,50)
# 隨機選取0到100間的偶數(shù):
random.randrange(0, 101, 2)
# 隨機浮點數(shù):
random.random()
random.uniform(1, 10)
# 隨機選取字符串:
random.choice(['剪刀', '石頭', '布'])
# 多個字符中生成指定數(shù)量的隨機字符:
random.sample('zyxwvutsrqponmlkjihgfedcba',5)
# 打亂排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(items)# 無返回值
Pyinstaller
| 參數(shù) | 含義 |
|---|---|
| -F | 指定打包后只生成一個exe格式的文件 |
| -D | –onedir 創(chuàng)建一個目錄,包含exe文件,但會依賴很多文件(默認(rèn)選項) |
| -c | –console, –nowindowed 使用控制臺,無界面(默認(rèn)) |
| -w | –windowed, –noconsole 使用窗口,無控制臺 |
| -p | 添加搜索路徑,讓其找到對應(yīng)的庫。 |
| -i | 改變生成程序的icon圖標(biāo) |
python jieba
import jieba
s ='''
精確模式,試圖將句子最精確地切開,適合文本分析;
全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非??欤遣荒芙鉀Q歧義;
搜索引擎模式,在精確模式的基礎(chǔ)上,對長詞再次切分,提高召回率,適合用于搜索引擎分詞。
'''
seg_list = jieba.cut(s, cut_all=True) # 全模式
print("Full Mode: " + "/ ".join(seg_list))
seg_list = jieba.cut(s, cut_all=False) # 精確模式
print("Default Mode: " + "/ ".join(seg_list))
seg_list = jieba.cut(s) # 默認(rèn)是精確模式
print(", ".join(seg_list))
seg_list = jieba.cut_for_search(s) # 搜索引擎模式
print(", ".join(seg_list))