Хелпикс

Главная

Контакты

Случайная статья





import sys 3 страница



 

“True” - а н г л. «В е р н о (П р а в д а )»; “False” - а н г л. “«и б о ч н о (Л о ж ь )». (п р и м. п е р е в. )


 

8. 1. О п е р а т о р ы                                                                                                                                                               47


A Byte of Python (Russian), В е р с и я 2. 01

 

 

О п е р а т о р Н а з в а - О б ъ я с н е н и е П р и м е р ы
  н и е    
       
or Л о г и - Е с л и x р а в н о True, в x = True; y = False; x or y
  ч е с к о е р е з у л ь т а т е п о л у ч и м True, в д а ё т True. З д е с ь т а к ж е м о ж е т
  И Л И п р о т и в н о м с л у ч а е п о л у ч и м п р о и з в о д и т ь с я у к о р о ч е н н а я
    з н а ч е н и е y о ц е н к а в ы р а ж е н и й.
       

 

8. 1. 1 К р а т к а я з а п и с ь м а т. о п е р а ц и й и п р и с в а и в а н и я

 

З а ч а с т у ю р е з у л ь т а т п р о в е д е н и я н е к о й м а т е м а т и ч е с к о й о п е р а ц и и н е о б х о д и м о п р и с в о и т ь п е р е м е н н о й, н а д к о т о р о й э т а о п е р а ц и я п р о и з в о д и л а с ь. Д л я э т о г о с у щ е с т в у ю т к р а т к и е ф о р м ы з а п и с и в ы р а ж е н и й:

 

В ы м о ж е т е з а п и с а т ь:

 

a = 2; a = a * 3

 

в в и д е:

 

a = 2; a *= 3

 

О б р а т и т е в н и м а н и е, ч т о в ы р а ж е н и я в и д а «п е р е м е н н а я = п е р е м е н н а я о п е р а ц и я в ы р а ж е -н и е » п р и н и м а е т в и д «п е р е м е н н а я о п е р а ц и я = в ы р а ж е н и е ».

 

 

8. 2 П о р я д о к в ы ч и с л е н и я

 

Е с л и и м е е т с я в ы р а ж е н и е в и д а 2 + 3 * 4, ч т о п р о и з в о д и т с я р а н ь ш е: с л о ж е н и е и л и у м н о -ж е н и е? Ш к о л ь н ы й к у р с м а т е м а т и к и г о в о р и т н а м, ч т о у м н о ж е н и е д о л ж н о п р о и з в о д и т ь с я

 

п е р в у ю о ч е р е д ь. Э т о о з н а ч а е т, ч т о о п е р а т о р у м н о ж е н и я и м е е т б о л е е в ы с о к и й п р и о р и -т е т, ч е м о п е р а т о р с л о ж е н и я.

 

С л е д у ю щ а я т а б л и ц а п о к а з ы в а е т п р и о р и т е т о п е р а т о р о в в Python, н а ч и н а я с с а м о г о н и з -к о г о (с а м о е с л а б о е с в я з ы в а н и е ) и д о с а м о г о в ы с о к о г о (с а м о е с и л ь н о е с в я з ы в а н и е ). Э т о о з н а ч а е т, ч т о в л ю б о м в ы р а ж е н и и Python с п е р в а в ы ч и с л я е т о п е р а т о р ы и в ы р а ж е н и я, р а с -п о л о ж е н н ы е в н и з у т а б л и ц ы, а з а т е м о п е р а т о р ы в ы ш е п о т а б л и ц е.

 

Э т а т а б л и ц а в з я т а и з С п р а в о ч н и к а п о я з ы к у Python (а н г л. ) и п р и в о д и т с я з д е с ь д л я п о л -н о т ы о п и с а н и я. Н а п р а к т и к е л у ч ш е и с п о л ь з о в а т ь с к о б к и д л я г р у п п и р о в к и о п е р а т о р о в и о п е р а н д о в, ч т о б ы в я в н о м в и д е у к а з а т ь п о р я д о к в ы ч и с л е н и я в ы р а ж е н и й. З а о д н о э т о о б -л е г ч и т ч т е н и е п р о г р а м м ы. Б о л е е п о д р о б н о с м. в р а з д е л е И з м е н е н и е п о р я д к а в ы ч и с л е н и я н и ж е.


 

 

48                                                                                                       Г л а в а 8. О п е р а т о р ы и в ы р а ж е н и я


     

A Byte of Python (Russian), В е р с и я 2. 01

 

     

П р и о р и т е т о п е р а т о р о в

   

 

 

 

О п е р а т о р

 

О п и с а н и е

lambda

 

л я м б д а -в ы р а ж е н и е

or    

Л о г и ч е с к о е “И Л И ”

and

 

Л о г и ч е с к о е “И ”

not x

 

Л о г и ч е с к о е “Н Е ”

in, not in  

П р о в е р к а п р и н а д л е ж н о с т и

is, is not  

П р о в е р к а т о ж д е с т в е н н о с т и

<, < =, >, > =, ! =, ==

 

С р а в н е н и я

|    

П о б и т о в о е “И Л И ”

^    

П о б и т о в о е “И С К Л Ю Ч И Т Е Л Ь Н О И Л И ”

&    

П о б и т о в о е “И ”

< <, > >  

С д в и г и

+, -    

С л о ж е н и е и в ы ч и т а н и е

*, /, //, %

 

У м н о ж е н и е, д е л е н и е, ц е л о ч и с л е н н о е д е л е н и е и о с т а т о к о т д е л е н и я

+x, -x  

П о л о ж и т е л ь н о е, о т р и ц а т е л ь н о е

~x    

П о б и т о в о е Н Е

**    

В о з в е д е н и е в с т е п е н ь

x. attribute

 

С с ы л к а н а а т р и б у т

x[и н д е к с ]

 

О б р а щ е н и е п о и н д е к с у

x[и н д е к с 1: и н д е к с 2]

В ы р е з к а

f(а р г у м е н т ы ... )

 

В ы з о в ф у н к ц и и

(в ы р а ж е н и я, ... )

 

С в я з к а и л и к о р т е ж 2

[в ы р а ж е н и я, ... ]

 

С п и с о к

{к л ю ч: д а н н ы е, ... }

 

С л о в а р ь

 

О п е р а т о р ы, о к о т о р ы х м ы н е у п о м я н у л и, б у д у т о б ъ я с н е н ы в д а л ь н е й ш и х г л а в а х.

 

э т о й т а б л и ц е о п е р а т о р ы с р а в н ы м п р и о р и т е т о м р а с п о л о ж е н ы в о д н о й с т р о к е. Н а п р и -м е р, + и - и м е ю т р а в н ы й п р и о р и т е т.

 

 

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 о б л е г ч а е т ж и з н ь п р о г р а м м и с т у.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.