




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章字符串與正則表達(dá)式學(xué)習(xí)目標(biāo)掌握字符串的常用方法
了解正則表達(dá)式語(yǔ)法及其使用方法22025/3/65.1字符串
字符串屬于不可變序列類型,使用單引號(hào)、雙引號(hào)、三單引號(hào)或三雙引號(hào)作為界定符,且不同界定符之間可以相互嵌套。字符串類型支持序列的通用方法以及一些特有的操作方法,如格式化操作、字符串查找、字符串替換等。
字符串屬于不可變序列,不能對(duì)其進(jìn)行元素添加、修改和刪除等操作。
字符串對(duì)象提供的replace()和translate()方法返回了另外一個(gè)結(jié)果字符串。32025/3/65.1字符串
Python支持字符串駐留機(jī)制,對(duì)于短字符串,將其賦值給多個(gè)不同對(duì)象時(shí),內(nèi)存中只有一個(gè)副本,多個(gè)對(duì)象共享該副本。對(duì)于長(zhǎng)字符串,并不遵守駐留機(jī)制。42025/3/6>>>a='1234'>>>b='1234'>>>id(a)==id(b)True>>>a='1234'*50>>>b='1234'*50>>>id(a)==id(b)False5.1字符串
Python3的字符串默認(rèn)采用Unicode,其類型為str。
Python3的程序源文件默認(rèn)為UTF-8編碼,全面支持中文。在Python3中甚至可以使用中文作為變量名。52025/3/6>>>s='錢塘江大潮'>>>len(s)5>>>s='錢塘江大潮Welcome'>>>len(s)12>>>城市='石家莊'>>>len(城市)3>>>print(城市)石家莊>>>isinstance('abcd',str)True>>>type('abcd')<class'str'>>>>type('北京'.encode('gbk'))<class'bytes'>5.1.1字符串的格式化62025/3/601%格式化運(yùn)算符02具體做法format()函數(shù)5.1.1字符串的格式化%格式化運(yùn)算符
%格式字符串'%(值1,值2,..)采取了兼容Python2的形式,與C語(yǔ)言的printf格式化字符串基本相同。格式字符串由固定文本和格式說(shuō)明符混合組成。72025/3/65.1.1字符串的格式化格式說(shuō)明符的語(yǔ)法%[(key)][flags][width][.precision][length]typekey(可選)為映射鍵(適用于映射的格式化,例如'%(lang)s');flags(可選)為修改輸出格式的字符集;width(可選)為最小寬度,如果為*,則使用下一個(gè)參數(shù)值;precision(可選)為精度,如果為*,則使用下一個(gè)參數(shù)值;length為修飾符(h、1或L,可選),Python忽略該字符;type為格式化類型字符。82025/3/65.1.1字符串的格式化
在實(shí)際開(kāi)發(fā)過(guò)程中還可以采用系統(tǒng)內(nèi)置函數(shù)format()進(jìn)行字符串的格式化。92025/3/6>>>format(81.2,"0.5f") #格式化為小數(shù)點(diǎn)后五位的浮點(diǎn)數(shù)'81.20000'>>>format(0.12,".2%") #變成百分?jǐn)?shù)'12.00%'>>>format(100,"x") #將100轉(zhuǎn)化為16進(jìn)制數(shù)'64'5.1.1字符串的格式化
Python開(kāi)發(fā)中提倡采用字符串對(duì)象自身的format()方法,相比較而言更加簡(jiǎn)單方便且不容易出錯(cuò)。
字符串的format()方法可以支持與位置無(wú)關(guān)的參數(shù)進(jìn)行格式化,而且還支持格式化時(shí)的序列解包,為程序編寫提供了極大的方便性。
具體形式
str.format(格式字符串,值1,值2,..)格式字符串由固定文本和格式說(shuō)明符混合組成。102025/3/65.1.1字符串的格式化
格式說(shuō)明符的語(yǔ)法
{<索引或鍵>:<填充字符><對(duì)齊方式><寬度.精度><格式>}允許采用數(shù)字化的索引或鍵進(jìn)行參數(shù)的設(shè)置,并由冒號(hào)右邊的格式化規(guī)范來(lái)指定該格式化字符串的格式要求。112025/3/6>>>"int:{0:d};hex:{0:#x};oct:{0:#o};bin:{0:#b}".format(100)'int:100;hex:0x64;oct:0o144;bin:0b1100100'5.1.1字符串的格式化
索引數(shù)值與鍵名采用索引數(shù)值時(shí),需要保證format()函數(shù)中輸入的參數(shù)按順序填寫,而采用鍵名的方法,則只需要format()函數(shù)中為鍵名輸入相應(yīng)的值。122025/3/6>>>'{2},{1},{0}'.format('a','b','c')'c,b,a'>>>'{0:>10}'.format(10) '10'>>>'{0:_<10}'.format(10)'10________'>>>'{0:*^10}'.format(10) '****10****'5.1.1字符串的格式化132025/3/6>>>age=25>>>name='wang'>>>print('{0}is{1}yearsold.'.format(name,age))wangis25yearsold.>>>print('{0:.3f}isadecimal.'.format(1/3))0.333isadecimal.>>>print('Mynameis{0:8}.'.format('Mary'))MynameisMary.>>>fmt='{0:15}${1:>6}'>>>fmt.format('Registration',35)'Registration$35'>>>'UserID:{uid}Lastseen:{last_login}'.format(last_login='5Mar200807:20',uid='root')'UserID:rootLastseen:5Mar200807:20'5.1.1字符串的格式化format_map()方法str.format_map(格式字符串,字典對(duì)象)其中字典對(duì)象的鍵對(duì)應(yīng)著格式字符串中所需要的鍵,而字典中的值就是輸入的數(shù)據(jù)。142025/3/6>>>"Test:argument1={arg1}andargument2={arg2}".format_map({'arg1':"Hello",'arg2':123})'Test:argument1=Helloandargument2=123'>>>student={'name':'Wang','hometown':'Beijing','age':21}>>>"Thestudent{name}livesin{hometown},andtheageis{age}".format_map(student)'ThestudentWanglivesinBeijing,andtheageis21'5.1.2字符串的常用方法
字符串是非常重要的數(shù)據(jù)類型。
可以用dir('')來(lái)查看字符串的方法列表。152025/3/6字符串s的方法描述s.title()字符串首字母大寫s.lower()字符串變小寫s.upper()字符串變大寫s.strip(),s.rstrip(),s.lstrip()刪除左右空格,刪除右空格,刪除左空格s.startswith(sub[,start[,end]])判斷字符串是否以指定字符串開(kāi)始s.endswith(sub[,start[,end]])判斷字符串是否以指定字符串結(jié)束s.find(sub[,start[,end]])查找sub子串首次出現(xiàn)的位置,如果不存在返回-1s.index(sub[,start[,end]])返回sub子串首次出現(xiàn)的位置,如果不存在拋出異常5.1.2字符串的常用方法查找字符串
用in運(yùn)算符可以判斷某個(gè)子串是否存在,而字符串對(duì)象的find()方法可以獲得子串所在的位置,如果不存在則返回-1。162025/3/6>>>s="Thisisatest.">>>'is'insTrue>>>'This'insTrue>>>'x'insFalse>>>k=s.find('is')>>>k2>>>k=s.index('is')>>>k2>>>k=s.find('is',k+1,len(s)-1)>>>k5>>>s.count('is')2>>>t=s.title()>>>t'ThisIsATest.'>>>t.count('is')1【例5-1】檢索字符串中出現(xiàn)子串的次數(shù)和位置對(duì)于一個(gè)字符串,不區(qū)分大小寫,檢索其中出現(xiàn)某個(gè)子串的次數(shù)和各次出現(xiàn)的位置。設(shè)該字符串為'Youusethewordtoindicatethatyouhaveenoughofthethingmentionedforaparticularpurposeforyoungers.',要查找的子串為'you'。172025/3/6【例5-1】檢索字符串中出現(xiàn)子串的次數(shù)和位置182025/3/6deffindSub(s,sub):s=s.lower()k=0p=[]while(k<len(s)):k=s.find(sub,k)if(k==-1):breakp.append(k)k+=len(sub)returnp
s='Youusethewordtoindicatethatyouhaveenoughofthethingmentionedforaparticularpurposeforyoungers.'sub='you'p=findSub(s,sub)print('子串{0}出現(xiàn)的次數(shù)為{1}'.format(sub,len(p)))print('子串{0}出現(xiàn)的位置為{1}'.format(sub,p))程序的運(yùn)行結(jié)果為:
子串you出現(xiàn)的次數(shù)為3
子串you出現(xiàn)的位置為[0,34,102]5.1.2字符串的常用方法
若要在查找子串的同時(shí),還能夠?qū)崿F(xiàn)對(duì)某個(gè)子串的替換,就要使用replace()函數(shù)。192025/3/6>>>s="Thisisatest.">>>t=s.replace('is','at')>>>t'Thatatatest.'>>>s'Thisisatest.'5.1.2字符串的常用方法202025/3/6思考題:要實(shí)現(xiàn)單純對(duì)s字符串中謂語(yǔ)動(dòng)詞的'is'進(jìn)行替換,應(yīng)該如何進(jìn)行程序修改?5.1.2字符串的常用方法拼接字符串字符串拼接可以簡(jiǎn)單地采用+號(hào)合并兩個(gè)字符串,適用于所有操作數(shù)都是字符串的情景,若有一個(gè)操作數(shù)為數(shù)字,則需要使用str()函數(shù)將其轉(zhuǎn)化為字符串才能用+號(hào)進(jìn)行拼接。212025/3/6>>>s1='Houston'>>>s2='Texas'>>>s=s1+s2>>>s'HoustonTexas'>>>s=s1+''+s2+''+str(25)>>>s'HoustonTexas25'5.1.2字符串的常用方法
若要對(duì)列表中的多個(gè)字符串進(jìn)行拼接,并在相鄰字符串之間插入指定字符,需要使用join()方法。222025/3/6>>>li=['apple','orange','peach','banana','strawberry']>>>sep=','>>>s=sep.join(li)>>>s'apple,orange,peach,banana,strawberry'>>>s=''.join(li)>>>s'appleorangepeachbananastrawberry'5.1.2字符串的常用方法字符串分割與截取
字符串的split()方法可以將字符串分割開(kāi)來(lái),并保存入列表之中。232025/3/6>>>s="ThecapitalofChinaisBeijing">>>li=s.split('')
>>>li['The','capital','of','China','is','Beijing']>>>s="ThecapitalofChinaisBeijing">>>li=s.split('')
>>>li['','','The','capital','of','China','','is','','Beijing','']>>>t=s.strip() >>>t'ThecapitalofChinaisBeijing'>>>print(t.split())['The','capital','of','China','is','Beijing']5.1.2字符串的常用方法
對(duì)于字符串的截取與一般的序列元素相類似,但字符串的截取則更加典型,非常適用于按區(qū)間截取子串。242025/3/6>>>str='0123456789'>>>print(str[0:3])012>>>print(str[:])0123456789>>>print(str[6:])6789>>>print(str[:-3])0123456>>>print(str[2])2>>>print(str[-1])9>>>print(str[::-1])9876543210>>>print(str[-3:-1])78>>>print(str[-3:])7895.1.2字符串的常用方法字符串常量在string模塊中定義了多個(gè)字符串常量,包括數(shù)字字符、標(biāo)點(diǎn)符號(hào)、英文字母、大小寫字符等,用戶可以直接使用這些常量。252025/3/6>>>importstring>>>print(string.ascii_letters)abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>>>print(string.ascii_lowercase)abcdefghijklmnopqrstuvwxyz>>>print(string.ascii_uppercase)ABCDEFGHIJKLMNOPQRSTUVWXYZ>>>print(string.digits)0123456789>>>print(string.punctuation)!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~>>>print(string.printable)0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,./:;<=>?@[\]^_`{|}~ 【例5-2】設(shè)計(jì)一個(gè)能夠自動(dòng)產(chǎn)生8位長(zhǎng)度隨機(jī)密碼的函數(shù)262025/3/6importstringimportrandomdefrandPass():x=string.digits+string.ascii_letters+string.punctuations=''.join(random.choice(x)foriinrange(8))returnsforiinrange(5):print(randPass())程序的運(yùn)行結(jié)果為:
inteI8>&
34:jGFW7
A(AG_gah
B_0:{lfX
W({-pY[.5.2正則表達(dá)式
正則表達(dá)式是字符串處理的有力工具和技術(shù),它采用預(yù)定義的特定模式去匹配異類具有共同特征的字符串,經(jīng)常用于快速、準(zhǔn)確的字符串查找、替換等常見(jiàn)處理之中。272025/3/65.2.1正則表達(dá)式語(yǔ)法
正則表達(dá)式由元字符及其組合來(lái)構(gòu)成,通過(guò)巧妙地構(gòu)造正則表達(dá)式可以匹配任意字符串,并完成復(fù)雜的字符串處理任務(wù)。282025/3/6元字符描述.小數(shù)點(diǎn)符號(hào),用于匹配除\n以外的任何字符*匹配0到多個(gè)元字符+匹配至少1個(gè)元字符-用在[]之內(nèi)表示范圍|表示或的關(guān)系^字符串必須以指定的字符開(kāi)始$字符串必須以指定的字符結(jié)束?匹配0到1個(gè)元字符\轉(zhuǎn)義字符\b匹配單詞邊界\B與\b含義相反5.2.1正則表達(dá)式語(yǔ)法292025/3/6文字元字符描述\d匹配任何0到9之間的單個(gè)數(shù)字,相當(dāng)于[0-9]\D不匹配任何0到9之間的單個(gè)數(shù)字,相當(dāng)于[^0-9]\s匹配任何空白字符,相當(dāng)于[\f\n\r\t\v]\S匹配任何非空白字符,相當(dāng)于[^\s]\w匹配大小寫英文字符及數(shù)字0到9之間的任意一個(gè)及下劃線,相當(dāng)于[a-zA-Z0-9_]\W不匹配大小寫英文字符及數(shù)字0到9之間的任意一個(gè),相當(dāng)于[^a-zA-Z0-9_]()將位于()內(nèi)的內(nèi)容作為一個(gè)整體來(lái)看待{}按{}內(nèi)的次數(shù)進(jìn)行匹配[abcde]匹配abcde之中的任意一個(gè)字符[a-h]匹配a到h之間的任意一個(gè)字符[^xyz]不與xyz之中的任意一個(gè)字符匹配5.2.1正則表達(dá)式語(yǔ)法
以斜線\開(kāi)頭的元字符與轉(zhuǎn)義字符相同,一般會(huì)需要利用雙斜線\\確保該斜線不被解釋為轉(zhuǎn)義字符。
在字符串前面加上r或R,保持字符串原樣,不被轉(zhuǎn)義。302025/3/6>>>s='\tabc'>>>s'\tabc'>>>print(s) Abc>>>x=r'\tabc'>>>x'\\tabc'>>>print(x) \tabc5.2.1正則表達(dá)式語(yǔ)法'[pjc]ython'可以匹配'python'、'jython'、'cython'。'a-zA-Z0-9'可以匹配一個(gè)任意大小寫字母或數(shù)字。
'[^abc]'匹配除'a'、'b'、'c'之外的字符。
'python|perl'或'p(ython|erl)'可以匹配'python'或'perl'。312025/3/65.2.1正則表達(dá)式語(yǔ)法
子模式后加問(wèn)號(hào)表示可選,因此r'(http://)?(www\.)?python\.org'只能匹配''、''、''和''。
'^http'匹配所有以'http'開(kāi)頭的字符串。
'(a|b)*c'匹配多個(gè)(包含0個(gè))a或b,后面緊跟字母c。
'(ab){1,}'等價(jià)于'ab+',匹配以字母a開(kāi)頭后面帶1個(gè)或多個(gè)字母b的字符串。322025/3/65.2.1正則表達(dá)式語(yǔ)法'^(\w){6,20}$'匹配長(zhǎng)度為6-20的字符串,可以包含字母、數(shù)字、下劃線。'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'匹配字符串是否為合法IP地址。'^(13[4-9]\d{8})(15[01289]\d{8})$'匹配字符串是否為移動(dòng)手機(jī)號(hào)碼。'^[a-zA-Z]+$'匹配給定字符串是否只包含英文字母大小寫。'^\w+@(\w+\.)+\w+$'匹配字符串是否為合法電子郵件地址。332025/3/65.2.1正則表達(dá)式語(yǔ)法'[\u4e00-\u9fa5]'匹配任意單個(gè)漢字(Unicode編碼)。'^(\-)?\d+(\.\d{1,2})?$'匹配字符串是否為最多帶有2位小數(shù)的正數(shù)或負(fù)數(shù)。'^\d{18}|\d{15}'匹配字符串是否為合法的身份證號(hào)碼。'\d{4}-\d{1,2}-\d{1,2}'匹配日期格式,如2019-1-12。'(.)\\1+'匹配任意字符的一次或多次重復(fù)出現(xiàn)。342025/3/65.2.2re模塊方法的使用352025/3/6方法功能說(shuō)明pile(pattern[,flags])把正則表達(dá)式語(yǔ)法轉(zhuǎn)化成正則表達(dá)式對(duì)象re.search(pattern,string[,flags])查找匹配正則表達(dá)式模式,返回MatchObject或Nonere.match(pattern,string[,flags])在字符串的開(kāi)始位置嘗試匹配正則表達(dá)式re.findall(pattern,string[,flags])在字符串中找到正則表達(dá)式所匹配的所有子串re.sub(pattern,repl,string[,count,flags])在string中找到匹配pattern的所有子串用repl替換re.split(pattern,string[,maxsplit=0])字符串必須以指定的字符開(kāi)始5.2.2re模塊方法的使用
函數(shù)參數(shù)flags的值包括re.I(忽略大小寫),re.L(表示特殊字符集\w,\W,\b,\B,\s,\S),re.M(多行模式),re.S(使元字符'.'匹配包括換行符在內(nèi)的任意字符),re.U(匹配Unicode字符)。362025/3/6>>>importre>>>str='alpha.beta....gamma.delta'>>>re.split('[\.]+',str)['alpha','beta','gamma','delta']>>>pat='[a-zA-Z]+'>>>re.findall(pat,str) ['alpha','beta','gamma','delta']>>>str='namelivesinBeijing'>>>pat='(name)'>>>re.sub(pat,'Alice',str) 'AlicelivesinBeijing'>>>s='MondayTuesdayWednesday'>>>re.sub('M|T|W','',s) 'ondayuesdayednesday'5.2.2re模塊方法的使用
re模塊的match()或search()方法后將返回匹配的對(duì)象matchObj,要查看具體的匹配值可以采用該對(duì)象的group()方法獲得匹配的字符串,若沒(méi)有找到匹配的子串,二者都返回None。
match()方法從字符串開(kāi)始查找的子串,
search()方法則更加全面,可用于檢索整個(gè)字符串。372025/3/65.2.2re模塊方法的使用382025/3/6>>>importre>>>matchObj=re.match("[0-9]*Hello","7HelloPython",re.I|re.M)>>>matchObj<_sre.SRE_Matchobject;span=(0,5),match='Hello'>>>>matchObj.group()'7Hello'>>>matchObj=re.match("[0-9]+Hello","Hello7HelloPython")>>>print(matchObj) None>>>matchObj=re.match("[0-9]*Hello","hello7HelloPython")>>>print(matchObj) None5.2.2re模塊方法的使用392025/3/6>>>matchObj=re.match("[0-9]*Hello","hello7HelloPython",re.I)>>>matchObj.group()'hello'>>>ret=re.search("[0-9]*Hello","Hello7HelloPython")>>>ret.group()'Hello'>>>matchObj=re.match("[0-9]+Hello","Hello7HelloPython")>>>print(matchObj)None>>>ret=re.search("[0-9]+Hello","Hello7HelloPython")>>>print(ret)<_sre.SRE_Matchobject;span=(6,12),match='7Hello'>>>>print(ret.group())7Hello5.2.2re模塊方法的使用402025/3/6>>>content='Hello123456789Word_Thisisjustatest666Test'>>>result=re.search('(\d+).*?(\d+).*',content)>>>result<_sre.SRE_Matchobject;span=(6,49),match='123456789Word_Thisisjustatest666Test'>>>>result.group()'123456789Word_Thisisjustatest666Test'>>>result=re.match('(\d+).*(\d+).*',content) >>>print(result)None5.2.3正則表達(dá)式對(duì)象
使用re模塊的compile()方法可以將正則表達(dá)式編譯生成正則表達(dá)式對(duì)象。pattern.match(string[,pos[,endpos]])可以從指定的位置進(jìn)行匹配,而不必一定要從開(kāi)始位置匹配。
pattern.search(string[,pos[,endpos]])也可以從指定的位置的區(qū)間進(jìn)行檢索,而不必像re.search(pattern,string[,flags])一樣一定要從開(kāi)始位置進(jìn)行整個(gè)字符串的檢索。412025/3/65.2.3正則表達(dá)式對(duì)象
這種區(qū)間指定的方式同樣適用于findall(string[,pos[,endpos]])方法。
采用findall()方法會(huì)返回一個(gè)匹配子串的列表
finditer(string[,pos[,endpos]])方法會(huì)返回同樣的結(jié)果,但是以迭代器的方式返回。422025/3/65.2.3正則表達(dá)式對(duì)象432025/3/6>>>importre>>>pattern=pile(r'\bU\w+\b')>>>s='ZhejiangUniversityliesinHangzhou,UniversitiesfromBeijing'>>>pattern.findall(s)['University','Universities']>>>pat=pile(r'\w+g\b') >>>pat.findall(s)['Zhejiang','
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 暖氣安裝合同協(xié)議書(shū)
- 山東省臨沂市郯城縣2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 辦公樓簡(jiǎn)易裝修合同
- 證券投資咨詢服務(wù)協(xié)議書(shū)
- 深圳房屋出租合同
- 智能家居設(shè)備購(gòu)買安裝合同
- 全球金融中心交易量對(duì)比表
- 季度工作計(jì)劃與執(zhí)行方案
- 健康管理與咨詢協(xié)議書(shū)
- 會(huì)議室內(nèi)設(shè)備使用情況統(tǒng)計(jì)表
- 法考-01刑法-案例指導(dǎo)用書(shū)【】
- 《考古學(xué)》第二章-田野考古課件
- 膀胱鏡檢查記錄
- 檔案銷毀清冊(cè)
- 固體物理21固體的結(jié)合課件
- 水平定向鉆施工規(guī)范方案
- 細(xì)支氣管肺泡癌的影像診斷(61頁(yè))
- 2022年?yáng)|北大學(xué)現(xiàn)代控制理論試題及答案
- X射線的物理學(xué)基礎(chǔ)-
- 教學(xué)樓畢業(yè)設(shè)計(jì)資料
- 國(guó)網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
評(píng)論
0/150
提交評(píng)論