🔙 Quay lại trang tải sách pdf ebook Python Cơ Bản - Rất Là Cơ Bản Ebooks Nhóm Zalo +MЪM XLMЖY ,MЖR RE] 4]XLSR Pɧ QШX XVSRK RLоRK RKɺR RKо PϼT XVɳRL чERK чšвG GLɾ ʁ FЮM XɴRL чE HϰRK ZА иRK HдRK XLš ZMЖR TLSRK TLɾ Zɧ GШRK чТRK чɺRK чϲS ɇɪ PɧQ ZMЖG ZЪM 4,4 RʆQ Zɧ Gɹ RLоRK XɨG Zд Qɧ 4,4 OLɹ Qɧ XLрG LMЖR XРM šY чšвG OLMЎR QɳRL TLϲM XMЎT GϼR ZЪM 4]XLSR XVSRK KMEM чSϰR Rɧ] 'YРR WɨGL RLО Rɧ] чšвG ZMЎX XVSRK UYɨ XVɳRL QɳRL FϾX ч϶Y LМG 4]XLSR Zɧ KMϲM UY]ЎX GɨG FɧM XSɨR G˜ FϲR XLIS RLY G϶Y GжE QɳRL ,] ZМRK RLоRK KLM GLɰT GжE QɳRL GˢRK WЌ KMɾT ɴGL GLS RLоRK EM чERK UYER XɩQ чЎR ZMЖG иRK HдRK 4]XLSR ZɧS GɺRK ZMЖG Zɧ \м Pʁ LMЖR XϰM 1дG PдG 7ɨGL чšвG GLME PɧQ GLš˜RK QЦM GLš˜RK WЌ XVɳRL Fɧ] OLɴE GϰRL GжE 4]XLSR Qɧ QɳRL WЌ KІT TLϲM Zɧ WЌ LоY ɴGL OLM FMЎX GɨG OMЎR XLиG Rɧ] XVSRK ZMЖG ɨT HдRK 4]XLSR ZɧS GɺRK ZMЖG XVSRK Xš˜RK PEM ,IPPS [SVPH 'ɾ TLɨT 4LɩR GLME QSHYPI 'PEWW 8LES XɨG XVɱR XϼT XMR <м Pʁ LɳRL ϲRL <м Pʁ JMPI .732 <м Pʁ JMPI <10 /ЎX RРM 1]750 /ЎX RРM 6IHMW /ЎX RРM 1IQGEGLIH /ЎX RРM 6EFFMX15 6IWXJYP 'PMIRX +ЮM IQEMP ZЪM 7184 7SGOIX 4VSKVEQQMRK 'Lš˜RK ,IPPS [SVPH 4]XLSR Pɧ QШX RKɺR RKо TLMɱR HКGL -RXIVTVIXIV 0ERKYEKI XиG Pɧ OLɺRK G϶R FYMPH XLɧRL JMPI XLрG XLM Qɧ GLϰ] XVрG XMЎT RLš 4,4 ,MЖR XϰM 4]XLSR Gɹ RLɨRL GLɴRL Pɧ \ Zɧ \ Э RLɨRL \ чɪ HкRK TLɨX XVMВR Zɧ чERK чиRK Ю TLMɱR FϲR 2LɨRL 4]XLSR \ XLɳ ZϺR чERK чšвG XMЎT XдG TLɨX XVMВR ;IFWMXI GLɴRL XLиG GжE 4]XLSR [[[ T]XLSR SVK 'ɧM чІX 4]XLSR LЦ XVв L϶Y LЎX GɨG RАR XϲRK Zɧ VϴX HД XɳQ XLϴ] WЄR XVɱR QШX WР LЖ чMАY LɧRL RLš 1EG 37ŷ ɇВ FMЎX Pɧ LЖ XLРRK GжE FϰR чɪ GɧM 4]XLSR GLšE Gɹ XLВ ZɧS QɧR LɳRL GSQQERH PMRI Zɧ Kɻ $ python --version 2ЎY чɪ GɧM чІX T]XLSR XLɳ WЌ LMВR XLК XLɺRK XMR TLMɱR FϲR T]XLSR 2ЎY FɨS PЦM XLɳ чТRK RKLʨE ZЪM FϰR GLšE GɧM чІX 4]XLSR 'ɹ XLВ XLEQ OLϲS GɨGL GɧM чІX 4]XLSR XϰM LXXTW [[[ T]XLSR SVK HS[RPSEHW 'ɺRK Gд TLɨX XVMВR 'LИ G϶R HɽRK QШX XI\X IHMXSV Pɧ FϰR Gɹ XLВ ZMЎX чšвG GSHI T]XLSR LSІG Gɹ XLВ HɽRK GɨG GɺRK Gд GES GϴT L˜R -() RLš %TXERE 4]'LEVQŷ'ɨG -() XLšЬRK LЦ XVв XLɱQ UYɨ XVɳRL TLɩR XɴGL Gɾ TLɨT HɸRK PЖRL HIFYKŷXVSRK TLϰQ ZM GYРR WɨGL RLО Rɧ] XLɳ QɳRL LšЪRK чЎR GɨGL XLрG XLM T]XLSR FЀRK HɸRK PЖRL ,IPPS [SVPH 8ϰS QШX JMPI Gɹ XɱR Pɧ helloworld.py Zɧ Gɹ RШM HYRK RLš WEY print 'Hello world' print Pɧ PЖRL G˜ FϲR RLϴX чВ \YϴX QШX FMЎR VE XLšЬRK Pɧ QɧR LɳRL 7EY чɹ ZɧS QɧR LɳRL GSQQERH PMRI HM GLY]ВR чЎR XLš QдG GLиE JMPI Rɧ] Zɧ Kɻ $ python helloworld.py 2ЎY XLϴ] \YϴX LMЖR HɸRK GLо Hello world XиG Pɧ FϰR чɪ LSɧR XLɧRL ZMЖG ZMЎX иRK HдRK T]XLSR ч϶Y XMɱR 'Lš˜RK 'ɾ TLɨT &MЎR WР /LEM FɨS FMЎR FЀRK QШX GɩY PЖRL KɨR a = 1 FϰR Gɹ XLВ KɨR RLMАY PSϰM KMɨ XVК WР GLYЦM GLS QШX FMЎR a = 1 a = 'Hello World' a = [1, 2, 3] a = [1.2,'Hello','W', 2] 8SɨR Xм WР LМG 4]XLSR GˢRK LЦ XVв QШX WР XSɨR Xм XSɨR LМG XLɺRK HдRK RLš + TLɰT GШRK - TLɰT XVк * TLɰT RLɩR / TLɰT GLME % TLɰT GLME Pϴ] Hš QSHYPS &SSPIER Zɧ 8SɨR Xм PSKMG +Mɨ XVК чɾRK Zɧ WEM Xš˜RK иRK Pɧ True Zɧ False not чВ чϲS KMɨ XVК and TLɰT XɴRL PSKMG Zɧ %2( or TLɰT XɴRL PSKMG LSІG 36 1ШX WР TLɰT WS WɨRL XLɺRK XLšЬRK RLš < Fɰ L˜R <= Fɰ L˜R LSІG FЀRK > PЪR L˜R >= PЪR L˜R LSІG FЀRK == FЀRK != OLɨG чВ WS WɨRL KMɨ XVК ,Ц XVв HϰRK WS WɨRL OɰT RLš x = 2 1 < x < 3 # True 10 < x < 20 # False 3 > x <= 2 # True 2 == x < 4 # True 8SɨR Xм OMВQ XVE TL϶R Xм XVSRK QШX XϼT LвT in OMВQ XVE Gɹ XТR XϰM not in OMВQ OLɺRK XТR XϰM 'good' in 'this is a greate example' # F alse 'good' not in 'this is a greate example' # True 'ϴY XVɾG чMАY OLMВR 4]XLSR LЦ XVв QШX WР GϴY XVɾG чMАY OLMВR XLɺRK HдRK ,϶Y LЎX GɨG GϴY XVɾG чMАY OLMВR чАY HрE ZɧS XLдX ч϶Y HɸRK MRHIRXMSR чВ XϰS XLɧRL QШX FPSGO \м Pʁ XLE] Zɳ Wм HдRK { ŷ} RLš GɨG RKɺR RKо OLɨG 4,4 .EZEWGVMTX -JŷIPMJŷIPWI if condition1 : indentedStatementBlockForTrueCondition1 elif condition2 : indentedStatementBlockForFirstTrueCondition2 elif condition3 : indentedStatementBlockForFirstTrueCondition3 elif condition4 : indentedStatementBlockForFirstTrueCondition4 else: indentedStatementBlockForEachConditionFalse 7[MXGLŷGEWI 4]XLSR OLɺRK Gɹ GϴY XVɾG switch ŷcase *SVŷMR for iterating_var in sequence: statements(s) :ɴ Hд for letter in 'Python': # First Example print 'Current Letter :', letter fruits = ['banana','apple','mango'] for fruit in fruits: # Second Example print 'Current fruit :', fruit print "Good bye!" /ЎX UYϲ LMВR XLК GжE Zɴ Hд XVɱR Current Letter : P Current Letter : y Current Letter : t Current Letter : h Current Letter : o Current Letter : n Current fruit : banana Current fruit : apple Current fruit : mango Good bye! ;LMPI while expression: statement(s) :ɴ Hд count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "Good bye!" /ЎX UYϲ LMВR XLК GжE Zɴ Hд XVɱR The count is: 0 The count is: 1 The count is: 2 The count is: 3 The count is: 4 The count is: 5 The count is: 6 The count is: 7 The count is: 8 Good bye! ,ɧQ /LEM FɨS LɧQ XLIS Gɾ TLɨT def functionname(param, param2,..): statements(s) ,ɧQ RЎY OLɺRK XVϲ Hо PMЖY XLɳ QІG чКRL WЌ XVϲ ZА KMɨ XVК None :ɴ Hд OLEM FɨS LɧQ XɴRL Zɧ XVϲ ZА KMɨ XVК XФRK GжE XLEQ WР ч϶Y ZɧS def sum(a, b): return (a+b) 'ɨGL KМM LɧQ sum(1, 2) (trҥ vӃ giá trӍ là 3) ,ɧQ Gɹ LЦ XVв KMɨ XVК QІG чКRL GLS XLEQ WР OLM OLɺRK XVY]АR ZɧS :ɴ Hд LɧQ WEY def plus(c, d = 10): return (c+d) 2ЎY KМM LɧQ XVɱR RLš WEY plus(2) (kӁt quҥ trҥ vӃ là 12) 1ШX OLɨG FMЖX XVSRK GɨGL KМM LɧQ GжE 4]XLSR WS ZЪM 4,4 Pɧ GLɾRK XE Gɹ XLВ XLE] чФM XLи Xр XLEQ WР XVY]АR ZɧS FЀRK GɨGL чІX XɱR XLEQ WР OLM KМM LɧQ :ɴ Hд XE Gɹ XLВ KМM LɧQ sum(a,b) Ю Zɴ Hд XVɱR FЀRK GɨGL XVY]АR XLEQ WР b XVšЪG a RLš WEY sum(b = 1, a = 10) <м Pʁ GLYЦM 1ШX GLYЦM Gɹ XLВ OLEM FɨS FЀRK HϴY RLɨ] чɺM " LSІG ч˜R ' :ɴ Hд GɨG GLYЦM WEY str1 = "Hello" str2 = 'world' 'ɹ XLВ XVY] \YϴX XкRK Oʁ Xр XVSRK QШX GLYЦM XLIS LɳRL XLиG MRHI\ Zɴ Hд str1[0] str1[1] ŷ 'ɹ XLВ Wм HдRK HϴY RLɨ] чɺM LSІG ч˜R чВ OLEM FɨS GLYЦM XVɱR RLMАY HɸRK :ɴ Hд paragraph = """This is line 1 This is line 2 This is line 3""" 2РM GLYЦM 'ɹ XLВ XϰS QШX GLYЦM HɧM Xк ZMЖG RРM GɨG GLYЦM PϰM XLIS Gɾ TLɨT str = str1 + " " + str2 8VɴGL \YϴX GLYЦM GSR 'ɹ XLВ XϰS GɨG GLYЦM GSR XLɺRK UYE XSɨR Xм Pϴ] OLSϲR [start:end] VERKI 1ІG чКRL start Pɧ Xк ZК XVɴ ч϶Y GLYЦM 0 Zɧ end Pɧ чЎR ZК XVɴ GYРM GLYЦM :ɴ Hд str = 'Hello world' print str[0:4] (HiӅn thӍ "Hell") print str[:4] (HiӅn thӍ "Hell") print str[-3:] (HiӅn thӍ "rld") print str[6:-3] (HiӅn thӍ "wo") 0ϴ] чШ HɧM GжE GLYЦM 7м HдRK LɧQ len(...) чВ XVϲ ZА чШ HɧM GжE GLYЦM :ɴ Hд count = len("Hello world") (count có giá trӍ 11) 8ɳQ XLE] XLЎ RШM HYRK 'ɹ XLВ XɳQ Zɧ XLE] XLЎ XVSRK GLYЦM FЀRK GɨGL KМM TLš˜RK XLиG replace(search, replace[, max]) GжE QШX GLYЦM :ɴ Hд str = 'Hello world' newstr = str.replace('Hello','Bye') print newstr (Sҿ hiӅn thӍ chuәi "Bye world" trên màn hình) 8ɳQ ZК XVɴ GLYЦM GSR 'ɹ XLВ XɳQ ZК XVɴ GжE QШX GLYЦM GSR XVSRK GLYЦM PЪR FЀRK GɨGL KМM TLš˜RK XLиG find(str, beg=0 end=len(string)) &ϾX ч϶Y Pɧ ZК XVɴ 0 RЎY OLɺRK XɳQ VE XLɳ XVϲ ZА -1 :ɴ Hд str = 'Hello world' print str.find('world') (hiӅn thӍ 6) print str.find('Bye'); (hiӅn thӍ -1) ,ɧQ find() WЌ XɳQ XLIS XLи Xр Xк XVɨM UYE TLϲM GжE GLYЦM XиG Pɧ Xк P϶R \YϴX LMЖR ч϶Y XMɱR 'ɹ XLВ HɽRK LɧQ rfind() чВ XɳQ XLIS ZК XVɴ Xк GYРM GLYЦM ZА TLɴE XVšЪG 8ɨGL GLYЦM 'ɹ XLВ XɨGL GLYЦM HрE XLIS QШX GLYЦM HIPMQIXIV FЀRK GɨGL KМM TLš˜RK XLиG split(str="", num=string.count(str)) :ɴ Hд str = 'Hello world' print str.split(' ') (Trҥ vӃ mӛt mҥng có 2 phҩn tӯ là 2 chuәi "Hello" và "world") 'ɹ XLВ Wм HдRK LɧQ splitlines() чВ XɨGL GLYЦM XLIS XкRK LɧRK Zɧ PSϰM FО Oʁ Xр 2);0-2) 8VMQ Oʁ Xр OLSЂRK XVϾRK 'ɹ XLВ PSϰM FО GɨG Oʁ Xр QІG чКRL Pɧ Oʁ Xр OLSϲRK XVϾRK XVšЪG Zɧ WEY QШX GLYЦM FЀRK GɨGL KМM GɨG TLš˜RK XLиG WEY strip([chars]) PSϰM FО XVšЪG Zɧ WEY GLYЦM lstrip([chars]) PSϰM FО TLɴE XVšЪG GLYЦM rstrip([chars]) PSϰM FО TLɴE WEY GLYЦM 1ШX WР LɧQ \м Pʁ GLYЦM isnumeric() /MВQ XVE QШX GLYЦM Gɹ TLϲM Pɧ GLYЦM WР lower() 'LY]ВR GLYЦM LЎX XLɧRL GLо XLšЬRK upper() 'LY]ВR GLYЦM LЎX XLɧRL GLо ,3% 0MWX 0MWX XVSRK 4]XLSR Pɧ GϴY XVɾG QϲRK Zɧ GɨG TL϶R Xм Gɹ MRHI\ Gɹ XLи Xр /LɺRK RLš 4,4 OI] GжE QШX QϲRK Gɹ XLВ ZкE Pɧ WР ZкE Pɧ GLYЦM EWWSGMEXIH EVVE] 8VSRK 4]XLSR QYРR XϰS QШX QϲRK Gɹ OI] Pɧ GLYЦM XLɳ WЌ Wм HдRK GϴY XVɾG (MGXMSREV] TL϶R XMЎT XMЎT 8VSRK TL϶R Rɧ] GLɾRK XE WЌ RɹM чЎR 0MWX 1ШX 0MWX чšвG OLEM FɨS RLš QϲRK XVSRK .732 7м HдRK [..] чВ OLEM FɨS QШX QϲRK :ɴ Hд numbers = [1, 2, 3, 4, 5] names = ['Marry','Peter'] 'ɹ XLВ XVY] \YϴX XкRK TL϶R Xм GжE QϲRK FЀRK MRHI\ TL϶R Xм ч϶Y XMɱR Gɹ XLи Xр Pɧ 0 :ɴ Hд print numbers[0] (HiӅn thӍ 1) print numbers[-3] (HiӅn thӍ 3) print names[1] (HiӅn thӍ 'Peter') ɇВ FMЎX чšвG WР PšвRK TL϶R Xм GжE 0MWX Gɹ XLВ Wм HдRK LɧQ len(array) чВ Pϴ] WР PšвRK TL϶R Xм GжE QϲRK XLEQ WР XVY]АR ZɧS /MВQ XVE Wр XТR XϰM GжE QШX TL϶R Xм /MВQ XVE XLIS -RHI\ 8VSRK RLMАY XVšЬRK LвT FϰR QYРR XVY] \YϴX QШX TL϶R Xм FϴX OΧ HрE ZɧS MRHI\ GжE QϲRK XLɳ RЎY XVY] \YϴX чЎR QШX TL϶R Xм OLɺRK XТR XϰM XLɳ иRK HдRK WЌ FɨS PЦM (S чɹ XVšЪG OLM XVY] \YϴX QШX TL϶R Xм FϰR G϶R OMВQ XVE \IQ TL϶R Xм Rɧ] чɪ XТR XϰM LE] GLšE ,MЖR XϰM T]XLSR OLɺRK LЦ XVв LɧQ RɧS чВ OMВQ XVE Wр XТR XϰM GжE QШX TL϶R Xм XVSRK QϲRK 'ɹ GɨGL XLšЬRK XLϴ] чВ OMВQ XVE чɹ Pɧ Ű0SSO FIJSVI ]SY PIETű 0&=0 Zɧ Ű)EWMIV XS EWO JSVKMZIRIWW XLER TIVQMWWMSRű )%*4 :ɴ Hд ZА Ű0SSO FIJSVI ]SY PIET 0&=0ű if index < len(array): array[index] else: # handle this :ɴ Hд ZА Ű)EWMIV XS EWO JSVKMZIRIWW XLER TIVQMWWMSRű )%*4 try: array[index] except IndexError: # handle this /MВQ XVE XLIS KMɨ XVК ɇВ OMВQ XVE QШX KMɨ XVК Gɹ XТR XϰM OLɺRK XТR XϰM XVSRK QϲRK LE] OLɺRK XLɳ Gɹ XLВ Wм HдRK XSɨR Xм in not in :ɴ Hд mylist = ['a','b','c'] print 'a' in mylist (HiӅn thӍ True) print 'b' not in mylist (HiӅn thӍ False) 8VɴGL \YϴX QϲRK GSR 8š˜RK Xр RLš GLYЦM Xɹ XLВ XϰS GɨG QϲRK GSR XLɺRK UYE XSɨR Xм Pϴ] OLSϲR [start:end] VERKI 1ІG чКRL start Pɧ Xк ZК XVɴ ч϶Y GLYЦM 0 Zɧ end Pɧ чЎR ZК XVɴ GYРM GLYЦM :ɴ Hд numbers = ['a','b','c','d'] print numbers[:2] (HiӅn thӍ ['a','b']) print numbers[-2:] (HiӅn thӍ ['c','d']) <ɹE TL϶R Xм GжE QϲRK 'ɹ XLВ \ɹE QШX TL϶R Xм XLɺRK UYE XSɨR Xм del 8Lи Xр GжE GɨG TL϶R Xм WЌ HКGL GLY]ВR Xɽ] ZɧS ZК XVɴ GжE TL϶R Xм FК \ɹE :ɴ Hд numbers = [1, 2, 3, 4, 5] del numbers[0] print numbers (HiӅn thӍ [2, 3, 4, 5]) &ϰR Gɹ XLВ \ɹE QШX OLSϲR HрE ZɧS XSɨR Xм Pϴ] OLSϲR [start:end] :ɴ Hд numbers = [1, 2, 3, 4, 5, 6, 7] del numbers[2:4] print numbers (HiӅn thӍ [1, 2, 5, 6, 7]) 2РM QϲRK &ϰR Gɹ XLВ Wм HдRK XSɨR Xм + чВ RРM KMɨ XVК GжE QϲRK Zɧ XϰS VE QШX QϲRK PЪR Gɹ WР PšвRK TL϶R Xм Pɧ XФRK WР PšвRK TL϶R Xм GжE QϲRK GSR :ɴ Hд a = [1, 2] b = [1, 3] print a + b (HiӅn thӍ [1, 2, 1, 3]) 8LɱQ TL϶R Xм ZɧS QϲRK 2ЎY FϰR QYРR XLɱQ TL϶R Xм ZɧS QШX QϲRK чɪ XТR XϰM Lɪ] HɽRK TLš˜RK XLиG list.append(newvalue) чВ XLɱQ TL϶R Xм Gɹ KMɨ XVК newvalue ZɧS GYРM QϲRK list :ɴ Hд numbers = [1, 2, 3] numbers.append(4) print numbers (HiӅn thӍ [1, 2, 3, 4] 0ϴ] TL϶R Xм GYРM QϲRK 2ЎY QYРR Pϴ] TL϶R Xм GYРM GɽRK GжE QϲRK VE OLОM QϲRK Gɹ XLВ Wм HдRK TLš˜RK XLиG list.pop() WЌ XVϲ ZА KMɨ XVК GжE TL϶R Xм GYРM GɽRK Zɧ QϲRK Fɩ] KMЬ WЌ OLɺRK GɸR TL϶R Xм Rɧ] numbers = [1, 2, 3] mynumber = numbers.pop() print mynumber (HiӅn thӍ 3) print numbers (HiӅn thӍ [1, 2]) 8ɳQ QШX KMɨ XVК XVSRK QϲRK 2ЎY FϰR QYРR XɳQ ZК XVɴ MRHI\ GжE QШX KMɨ XVК XVSRK QШX QϲRK Gɹ XLВ HɽRK TLš˜RK XLиG list.index(obj) 2ЎY XɳQ XLϴ] WЌ XVϲ ZА MRHI\ GжE TL϶R Xм ч϶Y XMɱR XɳQ XLϴ] 2ЎY OLɺRK XɳQ XLϴ] WЌ UYʆRK )\GITXMSR :ɴ Hд aList = [123,'xyz','zara','abc']; print "Index for xyz : ", aList.index('xyz') print "Index for zara : ", aList.index('zara') /LM GLϰ] WЌ LMВR XLК OЎX UYϲ Index for xyz : 1 Index for zara : 2 ɇϲS RKšвG KMɨ XVК GжE QϲRK ɇВ чϲS RKšвG XLи Xр GɨG KMɨ XVК GжE QШX QϲRK Wм HдRK TLš˜RK XLиG list.reverse() 4Lš˜RK XLиG Rɧ] OLɺRK XVϲ ZА OЎX UYϲ Qɧ XLE] чФM XVрG XMЎT QϲRK list :ɴ Hд numbers = [1, 2, 3, 4] numbers.reverse() print numbers (HiӅn thӍ [4, 3, 2, 1]) 7ϾT \ЎT KMɨ XVК GɨG TL϶R Xм ɇВ WϾT \ЎT XLи Xр GжE KMɨ XVК XVSRK QϲRK Wм HдRK TLš˜RK XLиG list.sort([func]) чВ WϾT \ЎT 2ЎY XLEQ WР ч϶Y ZɧS Pɧ LɧQ func OLɺRK XVY]АR ZɧS XLɳ QІG чКRL Pɧ WϾT \ЎT XLIS KMɨ XVК XʆRK H϶R 4Lš˜RK XLиG Rɧ] OLɺRK XVϲ ZА OЎX UYϲ Qɧ XLE] чФM XVрG XMЎT QϲRK list :ɴ Hд aList = [123,'xyz','zara','abc','xyz'] aList.sort() print "List : ", aList (HiӅn thӍ List : [123,'abc','xyz','xyz','zara' ]) 'ɨGL XVMВR OLEM LɧQ GSQTEVI func() GˢRK KMРRK RLš LɧQ YWSVX XVSRK 4,4 ,ɧQ XVϲ ZА GɨG KMɨ XVК 0 -1 Zɧ 1 8YTPI 8YTPI GˢRK Pɧ QШX GϴY XVɾG QϲRK Xš˜RK Xр RLš GϴY XVɾG 0MWX 1ШX WР чMВQ OLɨG RLEY G˜ FϲR Pɧ OLEM FɨS 8YTPI Wм HдRK GІT HϴY RKSІG (...) Zɧ QШX XYTPI чɪ чšвG OLEM FɨS VТM XLɳ OLɺRK XLE] чФM чšвG KMɨ XVК MQQYXEFPI Zɧ OLɺRK LЦ XVв GɨG TLš˜RK XLиG RLš append() pop() ŷ:ɴ Hд mytuple = ('x','y','z') print mytuple (HiӅn thӍ ('x','y','z')) :ϺR LЦ XVв GɨG GɨGL чВ XVY] \YϴX TL϶R Xм KMРRK 0MWX RLš Pɧ XVY] \YϴX XLIS MRHI\ VERKI XɳQ OMЎQŷ (MGXMSREV] (MGXMSREV] GˢRK Pɧ QШX GϴY XVɾG QϲRK RLšRK GɨG TL϶R Xм FES KТQ OI] Zɧ ZEPYI 2ЎY FϰR Gɹ FMЎX .732 XLɳ GϴY XVɾG (MGXMSREV] Xš˜RK Xр RLš QШX SFNIGX NWSR 1ШX (MGXMSREV] чšвG OLEM FɨS FЀRK GІT HϴY RKSІG {...} :ɴ Hд point = {'x': 1,'y': 2} 8VY] \YϴX QШX KMɨ XVК HрE ZɧS OI] GжE чРM XšвRK :ɴ Hд point = {'x': 3,'y': 6,'z' : 9} print point[x] (HiӅn thӍ 3) 8LɱQ QШX TL϶R Xм ɇВ XLɱQ QШX TL϶R Xм ZɧS чРM XšвRK чɪ OLEM FɨS Wм HдRK GϴY XVɾG dict[key] = value :ɴ Hд user = {'name': 'Jone','age': 30} user['country'] = 'Vietnam' print user (HiӅn thӍ {'country': 'Vietnam','age': 30,'name': 'Jone'}) 1ШX WР LɧQ TLš˜RK XLиG XLɺRK HдRK dict.clear() <ɹE XSɧR FШ Hо PMЖY FɱR XVSRK чРM XšвRK dict.copy() 8Vϲ ZА QШX FϲR GST] GжE чРM XšвRK dict.fromkeys(seq[, value]) 8ϰS QШX чРM XšвRK ZЪM HERL WɨGL OI] Xк WIU Zɧ RЎY Gɹ XVY]АR value XLɳ Pϴ] чɹ PɧQ KMɨ XVК GLS GɨG TL϶R Xм dict.has_key(key) OMВQ XVE QШX OI] Gɹ XТR XϰM XVSRK чРM XšвRK LE] OLɺRK dict.keys() 8Vϲ ZА QШX 0MWX GLиE GɨG OI] dict.values() 8Vϲ ZА QШX 0MWX GLиE GɨG ZEPYI 'Lš˜RK 4LɩR GLME QSHYPI 8ϴX Gϲ Zɴ Hд GLS чЎR XLЬM чMВQ Rɧ] чАY чšвG XLрG XLM XVSRK GSQQERH PMRI LSІG Xк QШX JMPI T]XLSR .py 8Y] RLMɱR чРM ZЪM GɨG иRK HдRK PЪR Gɹ RLMАY GLиG RʆRK XLɳ TLɩR GLME RLО Hр ɨR XLɧRL GɨG JMPI OLɨG RLEY WЌ KMɾT HД FϲS XVɳ Zɧ XɨM Wм HдRK GɨG XLɧRL TL϶R чɪ XLMЎX OЎ 'Lš˜RK Rɧ] WЌ KMɾT FϰR XLMЎX OЎ GɨG XɴRL RʆRK XLIS Qɺ LɳRL GɨG QSHYPI Zɧ OLM G϶R XLɳ WЌ KМM JMPI Xš˜RK иRK Zɧ Wм HдRK 'ɨG PSϰM QSHYPI XLš ZMЖR 'ɹ PSϰM QSHYPI XLšЬRK XLϴ] Pɧ :MЎX FЀRK 4]XLSR Gɹ TL϶R QЮ VШRK Pɧ .py 'ɨG XLš ZMЖR PMɱR OЎX чШRK Gɹ TL϶R QЮ VШRK Pɧ .dll .pyd .so .sl ŷ ' 1SHYPI PMɱR OЎX ZЪM XVɳRL TLMɱR HКGL ɇšЬRK HϺR XɳQ чВ PSEH QSHYPI ɇВ XϲM QШX QSHYPI ZɧS WGVMTX GжE FϰR Wм HдRK Gɾ TLɨT ч˜R KMϲR import modulename OLM KІT GɩY PЖRL XVɱR XLɳ XVɳRL FMɱR HКGL WЌ XMЎR LɧRL XɳQ OMЎQ JMPI QSHYPI Xš˜RK иRK XLIS XLи Xр XLš QдG WEY 8Lš QдG LMЖR LɧRL Qɧ WGVMTX чERK KМM 'ɨG XLš QдG XVSRK 4=8,324%8, RЎY Gɹ WIX 'ɨG XLš QдG GɧM чІX GLYϸR XVɱR 0MRY\ 9RM\ 'ɹ XLВ FMЎX чšвG чšЬRK HϺR Qɧ QШX QSHYPI чɪ чšвG PSEH FЀRK чSϰR GSHI HšЪM чɩ] import math math.__file__ (Ví dӧ trҥ vӃ '/usr/lib/python2.5/lib-dynload/math. so') import random random.__file__ (Ví dӧ trҥ vӃ '/usr/lib/python2.5/random.pyc') 0ϴ] HERL WɨGL XLYШG XɴRL Zɧ TLš˜RK XLиG GжE QШX QSHYPI ɇВ Pϴ] чšвG HERL WɨGL GɨG XLYШG XɴRL Zɧ TLš˜RK XLиG Qɧ QSHYPI LЦ XVв Wм HдRK LɧQ dir(modulename) :ɴ Hд dir(math) ['__doc__','__file__','__name__','__package__', 'acos','acosh','asin','asinh','atan','atan2', 'atanh','ceil','copysign','cos','cosh','degree s','e','erf','erfc','exp','expm1','fabs','fa ctorial','floor','fmod','frexp','fsum','gamma' ,'hypot','isinf','isnan','ldexp','lgamma','lo g','log10','log1p','modf','pi','pow','radians ','sin','sinh','sqrt','tan','tanh','trunc'] 'ɹ XLВ KМM LɧQ dir() OLɺRK XVY]АR XLEQ WР чВ Pϴ] GɨG XLYШG XɴRL Zɧ TLš˜RK XLиG GжE WGSTI LMЖR XϰM чERK XLрG XLM 'ɨGL OLEM FɨS Zɧ Wм HдRK QSHYPI +Mϲ Wм FϰR XϰS QШX JMPI T]XLSR mymath.py Gɹ RШM HYRK RLš WEY def cong(a, b): return a + b def tru(a, b): return a - b def nhan(a, b): return a * b 7EY чɹ XϰS QШX JMPI Gɹ XɱR myexample.py XVSRK GɽRK XLš QдG ZЪM JMPI mymath.py ZкE XϰS Ю XVɱR Gɹ RШM HYRK RLš WEY import mymath num1 = 1 num2 = 2 print 'Tong hai so la: ', mymath.cong(num1, num2) :ɧS GSQQERH PMRI XLрG LMЖR KМM JMPI Q]I\EQTPI RLš WEY $ python myexample.py 7EY OLM XLрG LMЖR WЌ LMВR XLК PɱR QɧR LɳRL Pɧ Tong hai so la: 3 4EGOEKI QSHYPI 'ɹ XLВ KSQ RLMАY QSHYPI .py ZɧS QШX XLš QдG Zɧ XɱR XLš QдG Pɧ XɱR GжE TEGOEKI Zɧ XϰS QШX JMPI __init__.py XVSRK XLš QдG Rɧ] 2Lš Zϼ] GϴY XVɾG XLš GжE QШX TEGOEKI WЌ RLš WEY |-- mypack | |-- __init__.py | |-- mymodule1.py | |-- mymodule2.py | 'ɹ XLВ Wм HдRK mymodule1 XLIS Gɾ TLɨT MQTSVX WEY import mypack.mymodule1 LSІG import mypack.mymodule1 as mymodule1 LSІG import mypack.mymodule1 as mod /LM Wм HдRK QШX QSHYPI XLYШG QШX TEGOEKI XLɳ GɨG PЖRL XVSRK JMPI __init__.py WЌ чšвG XLрG LMЖR XVšЪG 8LɺRK XLšЬRK XLɳ JMPI __init__.py WЌ VЦRK 'ɹ XLВ XϰS GɨG WYFTEGOEKI FɱR XVSRK QШX TEGOEKI XLIS чɾRK GϴY XVɾG XLš QдG Gɹ JMPI __init__.py :ɴ Hд import mypack.mysubpack.mysubsubpack.module 'Lš˜RK 'PEWW 0ϼT XVɳRL LšЪRK чРM XšвRK Pɧ QШX OLɨM RMЖQ OLɺRK XLВ XLMЎY XVSRK L϶Y LЎX GɨG RKɺR RKо XLɺRK HдRK LMЖR RE] 4]XLSR GˢRK LЦ XVв PϼT XVɳRL LšЪRK чРM XšвRK ZЪM GɨG OLɨM RMЖQ 'PEWW 3FNIGX 3ZIVVMHIŷ /LEM FɨS QШX 'PEWW /LEM FɨS QШX GPEWW XLIS Gɾ TLɨT WEY class myclass([parentclass]): assignments def __init__(self): statements def method(): statements def method2(): statements :ɴ Hд QШX GPEWW class animal(): name = '' name = '' age = 0 def __init__(self, name = '', age = 0): self.name = name self.age = age def show(self): print 'My name is ', self.name def run(self): print 'Animal is running...' def go(self): print 'Animal is going...' class dog(animal): def run(self): print 'Dog is running...' myanimal = animal() myanimal.show() myanimal.run() myanimal.go() mydog = dog('Lucy') mydog.show() mydog.run() mydog.go() 7EY OLM XLрG XLM WЌ GLS VE OЎX UYϲ My Name is Animal is running... Animal is going... My Name is Lucy Dog is running... Animal is going... 8VSRK Zɴ Hд XVɱR XLɳ animal Zɧ dog Pɧ GPEWW 8VSRK чɹ GPEWW dog OЎ XLкE Xк GPEWW GLE Pɧ animal RɱR WЌ Gɹ GɨG TLš˜RK XLиG GжE GPEWW animal name Zɧ age Pɧ XLYШG XɴRL %XXVMFYXI GжE GPEWW 4Lš˜RK XLиG __init__(self) Pɧ LɧQ XϰS GжE GPEWW ,ɧQ Rɧ] WЌ чšвG KМM QЦM OLM Gɹ QШX SFNIGX QЪM чšвG XϰS Xк QШX GPEWW KМM Pɧ UYɨ XVɳRL XϰS MRWXERGI show() run() Zɧ go() Pɧ TLš˜RK XLиG GжE GPEWW /LM OLEM FɨS TLš˜RK XLиG Gɹ OɯQ XLEQ WР self HɽRK чВ XVY] GϼT RKšвG PϰM SFNIGX чERK KМM 0ɾG KМM TLš˜RK XLиG XLɳ OLɺRK G϶R XVY]АR XLEQ WР Rɧ] 4Lš˜RK XLиG run() GжE GPEWW dog KМM Pɧ override GжE TLš˜RK XLиG run() GжE GPEWW animal 'Lš˜RK 8LES XɨG XVɱR XϼT XMR Zɧ 8Lš QдG 2ШM HYRK GLš˜RK Rɧ] WЌ LšЪRK HϺR GɨG XLES XɨG PMɱR UYER чЎR XϼT XMR Zɧ XLš QдG 8ϼT XMR *MPI 1Ю JMPI 8VšЪG OLM QYРR чМG LSІG KLM JMPI FϰR G϶R Gɹ XLES XɨG QЮ JMPI XLIS Gɾ TLɨT fh = open(filepath, mode) 8VSRK чɹ filepath Pɧ чšЬRK HϺR GжE JMPI WЌ QЮ Zɧ mode Pɧ GLЎ чШ чВ QЮ 'ɹ QШX WР GLЎ чШ Pɧ r QЮ чВ чМG RШM HYRK QІG чКRL w QЮ чВ KLM RШM HYRK a QЮ чВ KLM XLɱQ RШM HYRK ZɧS GYРM JMPI r+ QЮ чВ чМG Zɧ KLM 'SR XVО RЀQ Ю ч϶Y JMPI w+ QЮ чВ чМG Zɧ KLM +LM чɯ RЎY JMPI чɪ XТR XϰM RЎY JMPI GLšE XТR XϰM XLɳ XϰS JMPI QЪM чВ KLM a+ QЮ чВ чМG Zɧ XLɱQ ZɧS GYРM JMPI 'SR XVО RЀQ Ю GYРM JMPI 2ЎY JMPI GLšE XТR XϰM XLɳ XϰS JMPI QЪM чВ KLM 1ІG чКRL Pɧ QЮ JMPI XI\X RЎY QYРR QЮ JMPI RLК TLɩR FMREV] XLɳ XLɱQ b Zɴ Hд rb wb ab rb+ wb+ ab+ :ɴ Hд f1 = open('test.txt','r') f2 = open('access_log','a+' 7EY OLM KМM LɧQ open() XLɧRL GɺRK XLɳ WЌ XVϲ ZА QШX SFNIGX Gɹ GɨG XLYШG XɴRL closed 8VYI RЎY JMPI чɪ чɹRK mode GLЎ чШ OLM QЮ JMPI name XɱR GжE JMPI softspace GЬ чɨRL HϴY WSJXWTEGI OLM HɽRK ZЪM LɧQ print ɇМG RШM HYRK Xк JMPI 7EY OLM JMPI чɪ QЮ Ю GLЎ чШ чМG XLɳ KМM TLš˜RK XLиG read([count]) чВ XVϲ ZА XSɧR FШ RШM HYRK GжE JMPI :ɴ Hд f1 = open('test.txt','r') data = f1.read(); ,ɧQ read() Gɹ RLϼR QШX XLEQ WР Pɧ WР PšвRK F]XI QYРR чМG 2ЎY OLɺRK XVY]АR ZɧS XLɳ WЌ чМG LЎX RШM HYRK GжE JMPI :ɴ Hд f2 = open('log.txt','r') buffdata = f2.read(1024) +LM RШM HYRK ZɧS JMPI 2ЎY JMPI чšвG QЮ Ю GLЎ чШ Gɹ XLВ KLM XLɳ Gɹ XLВ HɽRK TLš˜RK XLиG write() чВ KLM QШX RШM HYRK ZɧS JMPI :ɴ Hд f2 = open('access_log','a+') f2.write('Attack detected') ɇɹRK JMPI чɪ QЮ 7EY OLM LSɧR XϴX GɨG XLES XɨG чМG KLM JMPI XLɳ KМM TLš˜RK XLиG close() чВ чɹRK JMPI чɪ QЮ :ɴ Hд f1.close() f2.close() ɇФM XɱR JMPI 7м HдRK TLš˜RK XLиG os.rename(old, new) чВ чФM XɱR QШX JMPI :ɴ Hд import os os.rename('test.txt','test_new.txt') <ɹE JMPI 7м HдRK TLš˜RK XLиG os.remove(file) чВ \ɹE QШX JMPI OLОM LЖ XLРRK :ɴ Hд import os os.remove('test.txt') 8Lš QдG (MVIGXSV] 8ϰS XLš QдG 7м HдRK TLš˜RK XLиG os.mkdir(dir) чВ XϰS XLš QдG :ɴ Hд import os os.mkdir('test') <ɹE XLš QдG 7м HдRK TLš˜RK XLиG os.rmdir(dir) чВ \ɹE QШX XLš QдG :ɴ Hд import os os.rmdir('test') ɇМG RШM HYRK XLš QдG 7м HдRK TLš˜RK XLиG os.listdir(dir) чВ Pϴ] HERL WɨGL XϼT XMR XLš QдG GжE XLš QдG dir /LM KМM WЌ XVϲ ZА QШX QϲRK HERL WɨGL GɨG XϼT XMR XLš QдG :ɴ Hд import os allfiles = os.listdir('/root/downloads') print allfiles 1SHYPI os 1SHYPI os Pɧ QШX QSHYPI Gɹ RLMАY TLš˜RK XLиG LоY ɴGL XVSRK ZMЖG PɧQ ZMЖG ZЪM GɨG JMPI Zɧ HMVIGXSV] RLš os.chdir(path) чФM XLš QдG LMЖR LɧRL os.getcwd() XVϲ ZА XLš QдG LMЖR LɧRL os.chmod(path, mode) ',13( QШX чšЬRK HϺR os.chown(path, uid, gid) ',3;2 QШX чšЬRK HϺR os.makedirs(path[, mode]) XϰS чšЬRK HϺR Gɹ VIGYVWMZI os.removedirs(path) \ɹE QШX чšЬRK HϺR Gɹ VIGYVWMZI Belgian Waffles $5.95 Two of our famous Belgian Waff les with plenty of real maple syrup 650 Strawberry Belgian Waffles Strawberry Belgian Waffles $7.95 Light Belgian waffles covered with strawberries and whipped cream 900 ''' soup = Soup(note,'xml') foods = soup.findAll('food') for x in foods: print x.find('name').string,': ', x.price.stri ng /LM GLϰ] XLɳ WЌ LMВR XLК VE QɧR LɳRL RLš WEY Belgian Waffles : $5.95 Strawberry Belgian Waffles : $7.95 ɇРM XšвRK XLYШG GPEWW Soup &IEYXMJYP7SYT WЌ KMɾT XVY] \YϴX GɨG XLɧRL TL϶R GжE JMPI \QP RLERL GLɹRK Zɧ XMЖR PвM 8VSRK Zɴ Hд Gɹ QШX WР GɨGL XVY] \YϴX чЎR GɨG TL϶R Xм RLš findAll() XVϲ ZА QϲRK GɨG XLЊ Gɹ XɱR G϶R XɳQ find() XVϲ ZА TL϶R Xм ч϶Y XMɱR Gɹ XɱR G϶R XɳQ 8VY] \YϴX XVрG XMЎT XLɺRK UYE XɱR XLЊ RLš x.price.string 4EVWMRK ,810 8š˜RK Xр RLš xml &IEYXMJYP7SYT Gɹ XLВ TEVWMRK RШM HYRK ,810 XLɺRK UYE LɧQ OLЮM XϰS Zɧ GLМR html Ю XLEQ WР XLи ... soup = Soup(websitehtml,'html') 'Lš˜RK /ЎX RРM 1]750 1]750 Pɧ QШX LЖ G˜ WЮ Hо PMЖY UYER LЖ TLФ FMЎR RLϴX LMЖR RE] 6ϴX RLMАY RKɺR RKо Gɹ XLВ OЎX RРM чЎR 1]750 Zɧ 4]XLSR GˢRK OLɺRK RKSϰM PЖ 1ІG чКRL 4]XLSR OLɺRK Gɹ XLš ZMЖR чВ OЎX RРM чЎR 1]750 WIVZIV 8VSRK TL϶R Rɧ] чВ OЎX RРM чЎR 1]750 7IVZIV Xк 4]XLSR GLɾRK XE WЌ Wм HдRK QSHYPI MySQLdb 'ɧM чІX 1]750HF 'ɧM чІX XLɺRK UYE pip RLš WEY $ sudo pip install MySQL-python 8LEQ OLϲS XLɱQ XϰM LXXTW T]TM T]XLSR SVK T]TM 1]750 T]XLSR /LEM FɨS QSHYPI 1]750HF Pɧ Gɹ XLВ Wм HдRK import MySQLdb 8VSRK QШX WР XVšЬRK LвT чɪ GɧM 1]750HF RLšRK MQTSVX FɨS PЦM XLMЎY JMPI libmysqlclient.18.dylib 2KY]ɱR RLɩR Gɹ XLВ Pɧ HS LMЖR XϰM чšЬRK HϺR чЎR JMPI OLɺRK XТR XϰM 8Lм XϰS W]QPMRO LSІG Wм HдRK GɩY PЖRL WEY чВ XϰS W]QPMRO Xк JMPI libmysqlclient.18.dylib чЎR XLš QдG /usr/lib/ $ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18 .dylib /usr/lib/libmysqlclient.18.dylib /ЎX RРM чЎR 1]750 7IVZIV &ϰR G϶R Gɹ QШX 1]750 WIVZIV чERK GLϰ] Zɧ GLS OЎX RРM чЎR 8VSRK XVšЬRK LвT Rɧ] Pɧ PSGEPLSWX RɱR OLɺRK G϶R GϴY LɳRL чІG FMЖX GLИ G϶R GYRK GϴT YWIVREQI Zɧ TEWW[SVH Pɧ Gɹ XLВ OЎX RРM чЎR 1]750 7IVZIV 8LрG LMЖR KМM LɧQ RLš WEY чВ XVϲ ZА OЎX RРM import MySQLdb dbcon = MySQLdb.connect(host = 'localhost', user = 'myusername', passwd = 'mypassword', db = 'mydbname ') 2ЎY OЎX RРM OLɺRK XLɧRL GɺRK XLɳ WЌ FɨS PЦM Zɧ RKšRK GLš˜RK XVɳRL 'ɨGL OЎX RРM ER XSɧR Pɧ чšE ZɧS XVSRK try чВ FϾX PЦM RLš WEY import MySQLdb db = None try: db = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'root', db = 'mysql') except MySQLdb.Error, e: print "Error %d: %s" % (e.args[0],e.args[1]) sys.exit(1) if db: cur = db.cursor() cur.execute("SELECT VERSION()") ver = cur.fetchone() print "Database version : %s " % ver /ЎX RРM ZЪM charset utf8 1ІG чКRL OЎX RРM чЎR 1]750 WIVZIV Pɧ GLEVWIX latin RɱR OLM Pϴ] Hо PMЖY YRMGSHI XLɳ LMВR XLК 8MЎRK :MЖX OLɺRK чɾRK FϰR G϶R TLϲM GLМR GLEVWIX Pɧ utf8 OLM XϰS OЎX RРM 'ɾ TLɨT RLš WEY ... db = MySQLdb.connect(host = 'localhost', user = 'ro ot', passwd = 'root', db = 'test', charset = 'utf8' ) 5YIV] Hо PMЖY ɇВ XVY] ZϴR Hо PMЖY GLϰ] GɩY PЖRL 750 XLɳ Wм HдRK cursor GжE 1]750HF :ɴ Hд import MySQLdb db = MySQLdb.connect(host = 'localhost', user = 'ro ot', passwd = 'root', db = 'mysql'); cursor = db.cursor() sql = 'SELECT * FROM user' cursor.execute(sql) myusers = cursor.fetchall() :ɴ Hд Hо PMЖY FMЎR myusers Pɧ ((1,'John'), (2,'Doe')) 1ІG чКRL cursor WЌ XVϲ ZА QЦM HɸRK Hо PMЖY Xк 1]750 XLIS OMВY tuple XиG Pɧ OLɺRK Gɹ OI] 2ЎY FϰR QYРR XVϲ ZА OMВY Dictionary XLɳ Gɹ XLВ OLEM FɨS import MySQLdb db = MySQLdb.connect(host = 'localhost', user = 'ro ot', passwd = 'root', db = 'mysql') cursor = db.cursor(MySQLdb.cursors.DictCursor) ... *IXGL Hо PMЖY 'ɹ QШX WР GɨGL чВ JIXGL Hо PMЖY XLɺRK HдRK Xк cursor WEY OLM чɪ exectute(sql) Pɧ fetchone() Zɧ fetchall() fetchone() GLИ JIXGL QШX HɸRK Hо PMЖY 2ЎY QYРR JIXGL RLMАY HɸRK Hо PMЖY XLɳ Gɹ XLВ KМM RLMАY P϶R QЦM P϶R WЌ XVϲ ZА QШX HɸRK Hо PMЖY 8РX GLS XVšЬRK LвT XVY] ZϴR VϴX RLMАY Hо PMЖY QШX PɾG 2ЎY XVϲ ZА None XиG Pɧ чɪ JIXGL LЎX Hо PMЖY Xк GɩY XVY] ZϴR fetchall() JIXGL XSɧR FШ Hо PMЖY XVY] ZϴR чšвG Xк GɩY XVY] ZϴR Zɧ XVϲ ZА QШX XYTPI GLиE GɨG HɸRK Hо PMЖY 1ЦM TL϶R Xм GжE 8YTPI Gɹ XLВ Pɧ QШX 8YTPI OLɨG LSІG Pɧ QШX (MGXMSREV] Xɽ] XLIS GɧM чІX Ю FšЪG Pϴ] GYVWSV