|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import sys 3 страница
“True” - а н г л. «В е р н о (П р а в д а )»; “False” - а н г л. “«и б о ч н о (Л о ж ь )». (п р и м. п е р е в. )
8. 1. О п е р а т о р ы 47 A Byte of Python (Russian), В е р с и я 2. 01
8. 1. 1 К р а т к а я з а п и с ь м а т. о п е р а ц и й и п р и с в а и в а н и я
З а ч а с т у ю р е з у л ь т а т п р о в е д е н и я н е к о й м а т е м а т и ч е с к о й о п е р а ц и и н е о б х о д и м о п р и с в о и т ь п е р е м е н н о й, н а д к о т о р о й э т а о п е р а ц и я п р о и з в о д и л а с ь. Д л я э т о г о с у щ е с т в у ю т к р а т к и е ф о р м ы з а п и с и в ы р а ж е н и й:
В ы м о ж е т е з а п и с а т ь:
a = 2; a = a * 3
в в и д е:
a = 2; a *= 3
О б р а т и т е в н и м а н и е, ч т о в ы р а ж е н и я в и д а «п е р е м е н н а я = п е р е м е н н а я о п е р а ц и я в ы р а ж е -н и е » п р и н и м а е т в и д «п е р е м е н н а я о п е р а ц и я = в ы р а ж е н и е ».
8. 2 П о р я д о к в ы ч и с л е н и я
Е с л и и м е е т с я в ы р а ж е н и е в и д а 2 + 3 * 4, ч т о п р о и з в о д и т с я р а н ь ш е: с л о ж е н и е и л и у м н о -ж е н и е? Ш к о л ь н ы й к у р с м а т е м а т и к и г о в о р и т н а м, ч т о у м н о ж е н и е д о л ж н о п р о и з в о д и т ь с я
п е р в у ю о ч е р е д ь. Э т о о з н а ч а е т, ч т о о п е р а т о р у м н о ж е н и я и м е е т б о л е е в ы с о к и й п р и о р и -т е т, ч е м о п е р а т о р с л о ж е н и я.
С л е д у ю щ а я т а б л и ц а п о к а з ы в а е т п р и о р и т е т о п е р а т о р о в в Python, н а ч и н а я с с а м о г о н и з -к о г о (с а м о е с л а б о е с в я з ы в а н и е ) и д о с а м о г о в ы с о к о г о (с а м о е с и л ь н о е с в я з ы в а н и е ). Э т о о з н а ч а е т, ч т о в л ю б о м в ы р а ж е н и и Python с п е р в а в ы ч и с л я е т о п е р а т о р ы и в ы р а ж е н и я, р а с -п о л о ж е н н ы е в н и з у т а б л и ц ы, а з а т е м о п е р а т о р ы в ы ш е п о т а б л и ц е.
Э т а т а б л и ц а в з я т а и з С п р а в о ч н и к а п о я з ы к у Python (а н г л. ) и п р и в о д и т с я з д е с ь д л я п о л -н о т ы о п и с а н и я. Н а п р а к т и к е л у ч ш е и с п о л ь з о в а т ь с к о б к и д л я г р у п п и р о в к и о п е р а т о р о в и о п е р а н д о в, ч т о б ы в я в н о м в и д е у к а з а т ь п о р я д о к в ы ч и с л е н и я в ы р а ж е н и й. З а о д н о э т о о б -л е г ч и т ч т е н и е п р о г р а м м ы. Б о л е е п о д р о б н о с м. в р а з д е л е И з м е н е н и е п о р я д к а в ы ч и с л е н и я н и ж е.
48 Г л а в а 8. О п е р а т о р ы и в ы р а ж е н и я
О п е р а т о р ы, о к о т о р ы х м ы н е у п о м я н у л и, б у д у т о б ъ я с н е н ы в д а л ь н е й ш и х г л а в а х.
э т о й т а б л и ц е о п е р а т о р ы с р а в н ы м п р и о р и т е т о м р а с п о л о ж е н ы в о д н о й с т р о к е. Н а п р и -м е р, + и - и м е ю т р а в н ы й п р и о р и т е т.
8. 3 И з м е н е н и е п о р я д к а в ы ч и с л е н и я
Д л я о б л е г ч е н и я ч т е н и я в ы р а ж е н и й м о ж н о и с п о л ь з о в а т ь с к о б к и. Н а п р и м е р, 2 + (3 * 4) о п р е д е л ё н н о л е г ч е п о н я т ь, ч е м 2 + 3 * 4, к о т о р о е т р е б у е т з н а н и я п р и о р и т е т а о п е р а т о р о в. К а к и в с ё о с т а л ь н о е, с к о б к и н у ж н о и с п о л ь з о в а т ь р а з у м н о (н е п е р е с т а р а й т е с ь ) и и з б е г а т ь и з л и ш н и х, к а к в (2 + (3 * 4)).
Е с т ь е щ ё о д н о п р е и м у щ е с т в о в и с п о л ь з о в а н и и с к о б о к – о н и д а ю т в о з м о ж н о с т ь и з м е -н и т ь п о р я д о к в ы ч и с л е н и я в ы р а ж е н и й. Н а п р и м е р, е с л и с л о ж е н и е н е о б х о д и м о п р о и з в е -с т и п р е ж д е у м н о ж е н и я, м о ж н о з а п и с а т ь н е ч т о в р о д е (2 + 3) * 4.
“tuple” - а н г л. «к о р т е ж » (п р и м. п е р е в. )
8. 3. И з м е н е н и е п о р я д к а в ы ч и с л е н и я 49 A Byte of Python (Russian), В е р с и я 2. 01
8. 4 А с с о ц и а т и в н о с т ь
О п е р а т о р ы о б ы ч н о о б р а б а т ы в а ю т с я с л е в а н а п р а в о. Э т о о з н а ч а е т, ч т о о п е р а т о р ы с р а в н ы м п р и о р и т е т о м б у д у т о б р а б о т а н ы п о п о р я д к у о т л е в о г о д о п р а в о г о. Н а п р и м е р, 2 + 3 + 4 о б р а б а т ы в а е т с я к а к (2 + 3) + 4. Н е к о т о р ы е о п е р а т о р ы, к а к, н а п р и м е р, о п е р а т о р п р и с в а -и в а н и я, и м е ю т а с с о ц и а т и в н о с т ь с п р а в а н а л е в о, т. е. a = b = c р а с с м а т р и в а е т с я к а к a = (b = c).
8. 5 В ы р а ж е н и я
П р и м е р (с о х р а н и т е к а к expression. py):
length = 5
breadth = 2
area = length * breadth
print ('П л о щ а д ь р а в н а ', area)
print ('П е р и м е т р р а в е н ', 2*(length+breadth))
В ы в о д:
$ python expression. py
П л о щ а д ь р а в н а 10
П е р и м е т р р а в е н 14
К а к э т о р а б о т а е т:
Д л и н а и ш и р и н а п р я м о у г о л ь н и к а х р а н я т с я в п е р е м е н н ы х length и breadth с о о т в е т с т в е н н о. М ы и с п о л ь з у е м и х д л я в ы ч и с л е н и я п е р и м е т р а и п л о щ а д и п р я м о у г о л ь н и к а п р и п о м о щ и в ы р а ж е н и й. Р е з у л ь т а т в ы р а ж е н и я length * breadth с о х р а н я е т с я в п е р е м е н н о й area, п о с л е ч е г о в ы в о д и т с я н а э к р а н ф у н к -ц и е й print. В о в т о р о м с л у ч а е м ы н а п р я м у ю п о д с т а в л я е м з н а ч е н и е в ы р а ж е -н и я 2 * (length + breadth) в ф у н к ц и ю print.
Т а к ж е о б р а т и т е в н и м а н и е, к а к Python «к р а с и в о п е ч а т а е т » р е з у л ь т а т. Н е с м о т р я н а т о, ч т о м ы н е у к а з а л и п р о б е л а м е ж д у 'П л о щ а д ь р а в н а ' и п е р е м е н н о й area, Python п о д с т а в л я е т е г о з а н а с, ч т о б ы п о л у ч и т ь к р а с и в ы й и п о н я т н ы й в ы в о д. П р о г р а м м а ж е о с т а ё т с я п р и э т о м л е г к о ч и т а е м о й (п о с к о л ь к у н а м н е н у ж н о з а -б о т и т ь с я о п р о б е л а х м е ж д у с т р о к а м и, к о т о р ы е м ы в ы в о д и м ). Э т о п р и м е р т о г о, к а к Python о б л е г ч а е т ж и з н ь п р о г р а м м и с т у.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|