🔙 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 GLRK QЦM GLRK 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 XRK 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
'LRK ,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 GLE 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 GLE 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 LR -() 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
'LRK 'ɾ 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 XRK и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ɰ LR <= Fɰ LR LSІG FЀRK > PЪR LR >= PЪR LR 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 TLRK
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 TLRK 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 TLRK 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 TLRK 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] GLE ,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
8RK 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 TLRK 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 TLRK 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 TLRK 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 TLRK XLиG list.reverse() 4LRK 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 TLRK 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 4LRK 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 XRK 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 TLRK 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 RLRK 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] XRK 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 TLRK 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
'LRK 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Ў
'LRK 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 XRK и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 XRK и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ɧ TLRK XLиG GжE QШX QSHYPI
ɇВ Pϴ] чвG HERL WɨGL GɨG XLYШG XɴRL Zɧ TLRK 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ɧ TLRK 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
'LRK '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 TLRK XLиG GжE GPEWW animal
name Zɧ age Pɧ XLYШG XɴRL %XXVMFYXI GжE GPEWW 4LRK 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ɧ TLRK XLиG GжE GPEWW /LM OLEM FɨS TLRK 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 TLRK
XLиG XLɳ OLɺRK G϶R XVY]АR XLEQ WР Rɧ] 4LRK XLиG run() GжE GPEWW dog KМM Pɧ override GжE TLRK XLиG run() GжE GPEWW animal
'LRK 8LES XɨG XVɱR XϼT XMR Zɧ 8L QдG
2ШM HYRK GLRK 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 GLE 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 GLE 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 TLRK 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 TLRK 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 TLRK XLиG close() чВ чɹRK JMPI чɪ QЮ :ɴ Hд
f1.close()
f2.close()
ɇФM XɱR JMPI
7м HдRK TLRK 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 TLRK 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 TLRK XLиG os.mkdir(dir) чВ XϰS XL QдG :ɴ Hд
import os
os.mkdir('test')
<ɹE XL QдG
7м HдRK TLRK 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 TLRK 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 TLRK 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
8RK 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')
'LRK /Ў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 RLRK 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ɧ RKRK GLRK 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