事先聲明,這里記錄的是我刷二級(jí)題時(shí)遇到的不熟悉的問(wèn)題時(shí)記錄下來(lái)的筆記。可能并不適合所有人,僅供參考。
任何問(wèn)題請(qǐng)聯(lián)系郵箱:admin@likehide.com (因?yàn)椴怀I暇W(wǎng)站,所以留言和私信可能無(wú)法及時(shí)回復(fù))
個(gè)人介紹:業(yè)余“開發(fā)者”一枚,Python為其啟蒙語(yǔ)言,但已經(jīng)很久沒(méi)有認(rèn)真寫過(guò)Python直到不久前突然想考計(jì)算機(jī)二級(jí),于是慢慢開始刷二級(jí)Python題庫(kù)。
一、語(yǔ)法或函數(shù)
本項(xiàng)主要記錄刷題時(shí)經(jīng)常遇到,但我使用較少,或完全沒(méi)有使用過(guò)的語(yǔ)法或函數(shù)
以下函數(shù)解釋多來(lái)自于:菜鳥教程
- id([object])
- 獲取對(duì)象內(nèi)存地址
- object -- 對(duì)象
- 返回對(duì)象的內(nèi)存地址。
- 例:
x = "abc"
y = "abc"
print(id(x)==id(y))
輸出:True
- list.extend(seq)
- 添加列表內(nèi)容
- seq -- 元素列表。
- 該方法沒(méi)有返回值,但會(huì)在已存在的列表中添加新的列表內(nèi)容。
- 例:
aList = [123, 'xyz', 'zara', 'abc', 123];
bList = [2009, 'manni'];
aList.extend(bList)
print "Extended List : ", aList ;
輸出:
Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
- list.insert(index, obj)
- 函數(shù)用于將指定對(duì)象插入列表的指定位置。
- index -- 對(duì)象 obj 需要插入的索引位置。
obj -- 要插入列表中的對(duì)象。 - 該方法沒(méi)有返回值,但會(huì)在列表指定位置插入對(duì)象。
aList = [123, 'xyz', 'zara', 'abc']
aList.insert( 3, 2009)
print "Final List : ", aList
輸出:
Final List : [123, 'xyz', 'zara', 2009, 'abc']
lambda 語(yǔ)法
詳見:lambda三元運(yùn)算:
val = 1 if 條件 else 2
條件為True時(shí)val=1
否則=2
- Python程序語(yǔ)言指定任何非0和非空(null)值為true,0 或者 null為false。
下列對(duì)象的布爾值都是False:
NONE;
False(布爾類型)
所有的值為零的數(shù)
0(整型)
0.0(浮點(diǎn)型)
0L(長(zhǎng)整型)
0.0+0.0j(復(fù)數(shù))
""(空字符串)
[](空列表)
()(空元組)
{}(空字典)
- divmod(a, b)
- 函數(shù)把除數(shù)和余數(shù)運(yùn)算結(jié)果結(jié)合起來(lái),返回一個(gè)包含商和余數(shù)的元組(a // b, a % b)。
- a-- 數(shù)字
b--數(shù)字 - 例:
>>>divmod(7, 2)
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(1+2j,1+0.5j)
((1+0j), 1.5j)
- str.strip([chars])
- 用于移除字符串頭尾指定的字符(默認(rèn)為空格或換行符)或字符序列。
注意:該方法只能刪除開頭或是結(jié)尾的字符,不能刪除中間部分的字符。 - chars -- 移除字符串頭尾指定的字符序列。
- 返回移除字符串頭尾指定的字符生成的新字符串。
- str.count(sub, start= 0,end=len(string))
- 用于統(tǒng)計(jì)字符串里某個(gè)字符出現(xiàn)的次數(shù)??蛇x參數(shù)為在字符串搜索的開始與結(jié)束位置。
- sub -- 搜索的子字符串
start -- 字符串開始搜索的位置。默認(rèn)為第一個(gè)字符,第一個(gè)字符索引值為0。
end -- 字符串中結(jié)束搜索的位置。字符中第一個(gè)字符的索引為 0。默認(rèn)為字符串的最后一個(gè)位置。 - 該方法返回子字符串在字符串中出現(xiàn)的次數(shù)。
- str.join(sequence)
- 用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串。
- sequence -- 要連接的元素序列。
- 返回通過(guò)指定字符連接序列中元素后生成的新字符串。
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );
輸出:a-b-c
- str.upper()
- 方法將字符串中的小寫字母轉(zhuǎn)為大寫字母。
- 返回小寫字母轉(zhuǎn)為大寫字母的字符串。
- list.sort(cmp=None, key=None, reverse=False)
- 用于對(duì)原列表進(jìn)行排序,如果指定參數(shù),則使用比較函數(shù)指定的比較函數(shù)。
- cmp -- 可選參數(shù), 如果指定了該參數(shù)會(huì)使用該參數(shù)的方法進(jìn)行排序。
key -- 主要是用來(lái)進(jìn)行比較的元素,只有一個(gè)參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對(duì)象中,指定可迭代對(duì)象中的一個(gè)元素來(lái)進(jìn)行排序。
reverse -- 排序規(guī)則,reverse = True 降序, reverse = False 升序(默認(rèn))。 - 該方法沒(méi)有返回值,但是會(huì)對(duì)列表的對(duì)象進(jìn)行排序。
- chr(i)
- chr() 用一個(gè)范圍在 range(256)內(nèi)的(就是0~255)整數(shù)作參數(shù),返回一個(gè)對(duì)應(yīng)的字符。
- i -- 可以是10進(jìn)制也可以是16進(jìn)制的形式的數(shù)字。
- 返回值是當(dāng)前整數(shù)對(duì)應(yīng)的ascii字符。
注:在3.x 中,chr() 和 ord() 默認(rèn)支持unicode
ord() 函數(shù)是 chr() 函數(shù)(對(duì)于8位的ASCII字符串)或 unichr() 函數(shù)(對(duì)于Unicode對(duì)象)的配對(duì)函數(shù),它以一個(gè)字符(長(zhǎng)度為1的字符串)作為參數(shù),返回對(duì)應(yīng)的 ASCII 數(shù)值,或者 Unicode 數(shù)值,如果所給的 Unicode 字符超出了你的 Python 定義范圍,則會(huì)引發(fā)一個(gè) TypeError 的異常。
- raise [Exception [, args [, traceback]]]
- 使用raise語(yǔ)句自己觸發(fā)異常
- Exception 異常的類型(例如,NameError)參數(shù)標(biāo)準(zhǔn)異常中任一種
args 自已提供的異常參數(shù)。
traceback 在實(shí)踐中很少使用該參數(shù),跟蹤異常對(duì)象。
一個(gè)異常可以是一個(gè)字符串,類或?qū)ο蟆?Python的內(nèi)核提供的異常,大多數(shù)都是實(shí)例化的類,這是一個(gè)類的實(shí)例的參數(shù)。
定義一個(gè)異常非常簡(jiǎn)單,如下所示:
def functionName( level ):
if level < 1:
raise Exception("Invalid level!", level)
# 觸發(fā)異常后,后面的代碼就不會(huì)再執(zhí)行
s = None
if s is None:
raise NameError
print 'is here?' #如果不使用try......except這種形式,那么直接拋出異常,不會(huì)執(zhí)行到這里
- str.center(width[, fillchar])
- 返回一個(gè)原字符串居中,并使用空格填充至長(zhǎng)度 width 的新字符串。默認(rèn)填充字符為空格。
- width -- 字符串的總寬度。
fillchar -- 填充字符 - 該方法返回一個(gè)原字符串居中,并使用空格填充至長(zhǎng)度 width 的新字符串。
>>>str = 'runoob'
>>> str.center(20, '*')
'*******runoob*******'
>>> str.center(20)
' runoob '
- format
print("{0:{2}^{1}}".format("a", 10, "*"))
輸出:
****a*****
- 字符串的比較
1、比較字符串是否相同:
==:使用==來(lái)比較兩個(gè)字符串內(nèi)的value值是否相同
is:比較兩個(gè)字符串的id值。
2、字符串的長(zhǎng)度比較
len():顯示字符串的長(zhǎng)度,返回?cái)?shù)字整型。可以進(jìn)行長(zhǎng)度的比較。
3、使用比較運(yùn)算符
>、<、> = 、< =、比較的規(guī)則為:從第一個(gè)字符開始比較,排序在前邊的字母為小,當(dāng)一個(gè)字符串全部字符和另一個(gè)字符串的前部分字符相同時(shí),長(zhǎng)度長(zhǎng)的字符串為大。
-
轉(zhuǎn)義字符:
轉(zhuǎn)義字符.png ** 運(yùn)算是右結(jié)合的:
>>> 2**2**3
256
而非:
>>> 2**2**3
64
運(yùn)算時(shí)先運(yùn)算 2**3 = 8
再運(yùn)算 2**8 = 256
file.isatty()
判斷文件是否連接到一個(gè)終端設(shè)備,如果是,返回True,如果否,返回False。a = [0,1,2,3,4,5,6,7,8,9]
b = a[i:j] 表示復(fù)制a[i]到a[j-1],以生成新的list對(duì)象
b = a[1:3] 那么,b的內(nèi)容是 [1,2]
當(dāng)i缺省時(shí),默認(rèn)為0,即 a[:3]相當(dāng)于 a[0:3]
當(dāng)j缺省時(shí),默認(rèn)為len(alist), 即a[1:]相當(dāng)于a[1:10]
當(dāng)i,j都缺省時(shí),a[:]就相當(dāng)于完整復(fù)制一份a了
b = a[i:j:s]這種格式呢,i,j與上面的一樣,但s表示步進(jìn),缺省為1.
所以a[i:j:1]相當(dāng)于a[i:j]
當(dāng)s<0時(shí),i缺省時(shí),默認(rèn)為-1. j缺省時(shí),默認(rèn)為-len(a)-1
所以a[::-1]相當(dāng)于 a[-1:-len(a)-1:-1],也就是從最后一個(gè)元素到第一個(gè)元素復(fù)制一遍。所以你看到一個(gè)倒序的東東鏈?zhǔn)奖容^:
a < b < c 等價(jià)于 a < b and b < c
而非 (a < b) < cfor else
當(dāng)?shù)膶?duì)象迭代完并為空時(shí),位于else的子句將執(zhí)行,而如果在for循環(huán)中含有break時(shí)則直接終止循環(huán),并不會(huì)執(zhí)行else子句。
for i in range(10):
if i == 5:
print 'found it! i = %s' % i
else:
print 'not found it ...'
輸出:
found it! i = 5
not found it ...
for i in range(10):
if i == 5:
print 'found it! i = %s' % i
break
else:
print 'not found it ...'
輸出:
found it! i = 5
- str.isdigit()
- 檢測(cè)字符串是否只由數(shù)字組成。
- 如果字符串只包含數(shù)字則返回 True 否則返回 False。
- str.isalpha()
- 檢測(cè)字符串是否只由字母組成。
- 如果字符串至少有一個(gè)字符并且所有字符都是字母則返回 True,否則返回 False
- pow()
- math.pow( x, y ) 或內(nèi)置
- pow(x, y[, z])
- 函數(shù)是計(jì)算x的y次方,如果z在存在,則再對(duì)結(jié)果進(jìn)行取模,其結(jié)果等效于pow(x,y) %z
注意:pow() 通過(guò)內(nèi)置的方法直接調(diào)用,內(nèi)置方法會(huì)把參數(shù)作為整型,而 math 模塊則會(huì)把參數(shù)轉(zhuǎn)換為 float。
>>> type(pow(2, 3))
<class 'int'>
>>> type(pow(2.0, 3))
<class 'float'>
>>> pow(2, 3)
8
>>> pow(2.0, 3)
8.0
>>> 8 == 8.0
True
>>> 8.0 == 8
True
- dict.get(key, default=None)
- 返回指定鍵的值,如果值不在字典中返回默認(rèn)值
- key -- 字典中要查找的鍵。
default -- 如果指定鍵的值不存在時(shí),返回該默認(rèn)值值。 - 返回指定鍵的值,如果值不在字典中返回默認(rèn)值None。
dict = {'Name': 'Zara', 'Age': 27}
print "Value : %s" % dict.get('Age')
print "Value : %s" % dict.get('Sex', "Never")
輸出:
Value : 27
Value : Never
- str.split(str="", num=string.count(str))
- 通過(guò)指定分隔符對(duì)字符串進(jìn)行切片,如果參數(shù) num 有指定值,則分隔 num+1 個(gè)子字符串
- str -- 分隔符,默認(rèn)為所有的空字符,包括空格、換行(\n)、制表符(\t)等。
num -- 分割次數(shù)。默認(rèn)為 -1, 即分隔所有。 - 返回分割后的字符串列表。
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( ); # 以空格為分隔符,包含 \n
print str.split(' ', 1 ); # 以空格為分隔符,分隔成兩個(gè)
輸出:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
ls =list({'shandong':200, 'hebei':300, 'beijing':400})
print(ls)
輸出:
['shandong', 'hebei', 'beijing']
二、常見 Python 框架
- caffe:是一個(gè)清晰,可讀性高,快速的深度學(xué)習(xí)框架
- RoboBrowser:輕量級(jí)爬蟲、自動(dòng)化測(cè)試庫(kù)
- newspaper:python爬取新聞常用的庫(kù)
- Grab:爬蟲框架
- scipy:數(shù)據(jù)分析與處理
- pandas:數(shù)據(jù)分析與處理
- moviepy:視頻處理
- prefile:代碼性能分析
- openpyxl:讀寫excel
- Django:WEB框架
- PyGObject:圖形界面
- wxPython:圖形界面

三、常用第三方庫(kù)--jieba
基本用法
- 精準(zhǔn)模式:
將字符串分割成等量的中文詞組,返回結(jié)果是列表類型。
>>>import jieba
>>>ls = jieba.lcut("全國(guó)計(jì)算機(jī)等級(jí)考試Python科目")
>>>print(ls)
['全國(guó)','計(jì)算機(jī)','等級(jí)','考試','Python','科目']
- 全模式:
將字符串的所有分詞可能均列出來(lái),返回結(jié)果是列表
類型,冗余性最大。
>>>import jieba
>>>ls = jieba.lcut("全國(guó)計(jì)算機(jī)等級(jí)考試Python科目", cut_all=True)
>>>print(ls)
['全國(guó)','國(guó)計(jì)','計(jì)算','計(jì)算機(jī)','算機(jī)','等級(jí)','考試','Python','科目']
- 搜索引擎模式:
該模式首先執(zhí)行精確模式,然后再對(duì)其中長(zhǎng)詞進(jìn)一步切分獲得最終結(jié)果。
>>>import jieba
>>>ls = jieba.lcut_for_search("全國(guó)計(jì)算機(jī)等級(jí)考試Python科目")
>>>print(ls)
['全國(guó)','計(jì)算','算機(jī)','計(jì)算機(jī)','等級(jí)','考試','Python','科目']
- 增加單詞:
>>>import jieba
>>>jieba.add_word("Python科目")
>>>ls = jieba.lcut("全國(guó)計(jì)算機(jī)等級(jí)考試Python科目")
>>>print(ls)
['全國(guó),'計(jì)算機(jī)','等級(jí)','考試','Python科目']
模式選擇
搜索引擎模式更傾向于尋找短詞語(yǔ),這種方式具有一定冗余度,但冗余度相比全模式較少。 如果希望對(duì)文本準(zhǔn)確分詞,不產(chǎn)生冗余,只能選擇jieba.lcut(s)函數(shù),即精確模式。如果希望對(duì)文本分詞更準(zhǔn)確,不漏掉任何可能的分詞結(jié)果,請(qǐng)選用全模式。如果沒(méi)想好怎么用,可以使用搜索引擎模式。
實(shí)例
統(tǒng)計(jì)紅樓夢(mèng)詞頻,并輸出前十五的詞語(yǔ)和詞頻
import jieba
f = open("紅樓夢(mèng).txt", "r")
txt = f.read()
f.close()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1: #排除單個(gè)字符的分詞結(jié)果
continue
else:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
word, count = items[i]
print ("{0} {1}".format(word, count))
輸出:
寶玉 3748
什么 1613
一個(gè) 1451
賈母 1228
我們 1221
那里 1174
鳳姐 1100
王夫人 1011
你們 1009
如今 999
說(shuō)道 973
知道 967
老太太 966
起來(lái) 949
姑娘 941
排除無(wú)用詞語(yǔ):
excludes = {"什么","一個(gè)","我們","那里","你們","如今", \
"說(shuō)道","知道","老太太","起來(lái)","姑娘","這里", \
"出來(lái)","他們","眾人","自己","一面","太太", \
"只見","怎么","奶奶","兩個(gè)","沒(méi)有","不是", \
"不知","這個(gè)","聽見"}
for word in excludes:
del(counts[word])
四、數(shù)據(jù)結(jié)構(gòu)與儲(chǔ)存
數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)結(jié)構(gòu)包括存儲(chǔ)結(jié)構(gòu)和邏輯結(jié)構(gòu)。
- 同一種邏輯結(jié)構(gòu)的數(shù)據(jù)可以采用不同的存儲(chǔ)結(jié)構(gòu),但影響數(shù)據(jù)處理的效率。
- 數(shù)據(jù)結(jié)構(gòu):
邏輯結(jié)構(gòu):線性結(jié)構(gòu){順序、鏈表、棧、隊(duì)列}、非線性結(jié)構(gòu){樹、二叉樹、圖}〉、
存儲(chǔ)結(jié)構(gòu)〈順序、鏈接、索引〉 - 在樹的結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件(子樹)的個(gè)數(shù)稱為該結(jié)點(diǎn)的度;所有結(jié)點(diǎn)中最大的度稱為樹的度;樹的最大層次稱為樹的深度。
例題:一棵樹的度為4,其中度為4,3,2,1的結(jié)點(diǎn)的個(gè)數(shù)分別為2,3,3,求葉子結(jié)點(diǎn)的個(gè)數(shù)
答案:16個(gè)(樹狀圖法求解) - 在二叉樹的第k層上最多有2的(k-1)次方(k≥1)個(gè)結(jié)點(diǎn)。
滿二叉樹的葉子節(jié)點(diǎn)數(shù)為 2的(n-1)次方個(gè)。
深度(層數(shù))為m的二叉樹最多有2的m次方-1個(gè)結(jié)點(diǎn)。
在任意一棵二叉樹中,度數(shù)為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總比度為2的結(jié)點(diǎn)多一個(gè)。 - 二叉樹遍歷:
前序遍歷:根左右
中序遍歷:左根右
后序遍歷:左右根
參見 - 二分法查找最壞情況下,需要比較的次數(shù)為(log以2為底n的對(duì)數(shù))次
- 樹的根結(jié)點(diǎn)數(shù)量可以為0或1
- 關(guān)系表中的每一橫行稱為一個(gè)元組
- 相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和冗余性
數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)系統(tǒng)(DBS) :由數(shù)據(jù)座(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、硬件平臺(tái)(硬件)、軟件平臺(tái)(軟件)五個(gè)部分構(gòu)成的運(yùn)行實(shí)體。
- 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式
概念模式:數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(應(yīng)用)公共數(shù)據(jù)視圖。
外模式:也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式,它由概念模式推導(dǎo)而出。
內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。 - 在數(shù)據(jù)庫(kù)技術(shù)中, 為提高數(shù)據(jù)庫(kù)的邏輯獨(dú)立性和物理獨(dú)立性, 數(shù)據(jù)庫(kù)的結(jié)構(gòu)被劃分為用戶級(jí)、 存儲(chǔ)級(jí)和概念級(jí)。
- 數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
- 數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及數(shù)據(jù)的儲(chǔ)存結(jié)構(gòu)
- 數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)
- 對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),負(fù)責(zé)定義數(shù)據(jù)庫(kù)內(nèi)容,決定存儲(chǔ)結(jié)構(gòu)和存取策略及安全授權(quán)等工作的是:數(shù)據(jù)庫(kù)管理員
- 數(shù)據(jù)庫(kù)系統(tǒng)依靠模式分級(jí),各級(jí)模式之間的映射支持?jǐn)?shù)據(jù)的獨(dú)立性。
五、雜項(xiàng)(公共基礎(chǔ)知識(shí))
- Python是一種解釋型、面向?qū)ο?/strong>、動(dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語(yǔ)言
- 程序設(shè)計(jì)風(fēng)格:清晰第一,效率第二。
結(jié)構(gòu)化程序設(shè)計(jì)原則:自頂向下,逐步求精,模塊化,限制使用goto語(yǔ)句(Python無(wú) goto 語(yǔ)句)。
模塊設(shè)計(jì)要求:高內(nèi)聚,低耦合。 - 面對(duì)對(duì)象基本特點(diǎn):繼承性、多態(tài)性、封裝性
- 軟件的概念:
軟件包括程序、數(shù)據(jù)、及相關(guān)文檔的完整集合。
機(jī)器能執(zhí)行的是程序、數(shù)據(jù),不能執(zhí)行的是文檔。
工程化的3個(gè)要素:方法、工具、過(guò)程
軟件的生命周期:提出、實(shí)現(xiàn)、使用、維護(hù)、停止使用、退役
原則:抽象、信息屏蔽、模塊化
具有:局部化、確定性、一致性、完備性、可驗(yàn)證性 - 在程序流程圖中,用帶有箭頭的線段表示控制流;在數(shù)據(jù)流程圖中,用帶有箭頭的線段表示數(shù)據(jù)流。
- 軟件測(cè)試目的:盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤,不能也不可能證明程序沒(méi)有錯(cuò)誤。
- 測(cè)試方法:白盒測(cè)試(測(cè)試軟件內(nèi)部方法:邏輯覆蓋基本路徑測(cè)試)黑盒測(cè)試(測(cè)試軟件外部即在軟件接口處進(jìn)行,主要完成軟件功能驗(yàn)證方法:等價(jià)步、劃分法、邊界值、分析法、錯(cuò)誤推斷法、因果圖等)
- 軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì)(系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述)
- 軟件開發(fā)模型包括 Ⅰ、瀑布模型 Ⅱ、扇形模型 Ⅲ、快速原型法模型 Ⅳ、螺旋模型Ⅰ、Ⅲ、Ⅳ
- 軟件生命周期的主要活動(dòng)階段:需求分析
- pip升級(jí)pip:pip install -U pip
-
忘記模塊用法?使用 dir(模塊名) 即可查看該模塊包含的函數(shù);使用help(模塊名)即可查看詳細(xì)文檔
dir
help
- 整數(shù)類型有4種進(jìn)制表示,十進(jìn)制、二進(jìn)制(0b)、八進(jìn)制(0o)、十六進(jìn)制(0x)
- 軟件需求規(guī)格說(shuō)明書的作用不包括:軟件可行性研究的依據(jù)
- 將E—R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成
- 數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng)
- 軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì),其中軟件的過(guò)程設(shè)計(jì)是指:系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述
- 軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于:輔助資源
- 下列路徑表示錯(cuò)誤的是:F:\PythonTest\abc.txt
可用表示方式:F:\PythonTest\abc.txt F:/PythonTest/abc.txt F://PythonTest//abc.txt - 映射類型是“鍵值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),元素之間是無(wú)序的。
- binary 二進(jìn)制的
octal 八進(jìn)制的
hexadecimal 十六進(jìn)制的
decimal 十進(jìn)制的 - 如果改變一個(gè)數(shù)值類型變量的值,變量的內(nèi)存地址就會(huì)改變
- 單分支結(jié)構(gòu)指只有if語(yǔ)句,沒(méi)有else語(yǔ)句的分支結(jié)構(gòu)
- 以下選項(xiàng),不屬于程序流程圖基本元素的是:
A.判斷框
B.循環(huán)框
C.連接點(diǎn)
D.起始框
答案:B - 函數(shù):
函數(shù)是一種功能抽象
使用函數(shù)后,代碼的維護(hù)難度降低了
函數(shù)名可以是任何有效的Python標(biāo)識(shí)符
使用函數(shù)的目的只是為了增加代碼復(fù)用(錯(cuò)誤) - 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成:
定義、開發(fā)、運(yùn)行維護(hù)


