Хелпикс

Главная

Контакты

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





Как писать программы на Python 11 страница



 

Е с л и в ы п о л у ч и т е с о о б щ е н и е о б о ш и б к е, в в е д и т е в ы ш е у к а з а н н у ю п р о г р а м м у в т о ч н о с т и т а к, к а к п о к а з а н о з д е с ь, и з а п у с т и т е с н о в а. О б р а т и т е в н и м а н и е, ч т о Python р а з л и ч а е т р е г и с т р б у к в, т о е с т ь print – э т о н е т о ж е с а м о е, ч т о Print (о б р а т и т е в н и м а н и е н а б у к в у p в н и ж н е м р е г и с т р е в п е р в о м с л у ч а е и н а б у к в у P в в е р х н е м р е г и с т р е в о в т о р о м ). Т а к ж е у б е д и т е с ь, ч т о п е р е д п е р в ы м с и м в о л о м в с т р о к е н е т п р о б е л о в и л и с и м в о л о в т а б у л я ц и и

– п о з ж е м ы у в и д и м, п о ч е м у э т о в а ж н о.

 

К а к э т о р а б о т а е т

 

П р о г р а м м а н а Python с о с т о и т и з в ы р а ж е н и й . В н а ш е й п е р в о й п р о г р а м м е и м е -е т с я в с е г о л и ш ь о д н о в ы р а ж е н и е. В э т о м в ы р а ж е н и и м ы в ы з ы в а е м ф у н к ц и ю print, к о т о р а я п р о с т о в ы в о д и т т е к с т 'П р и в е т, М и р! '. О ф у н к ц и я х м ы у з н а -е м в о д н о й и з п о с л е д у ю щ и х г л а в , а п о к а в а м д о с т а т о ч н о п о н я т ь, ч т о в с ё, ч т о в ы у к а ж е т е в с к о б к а х, б у д е т в ы в е д е н о н а э к р а н. В д а н н о м п р и м е р е м ы у к а з а л и

'П р и в е т, М и р! '.

 

6. 4. 1 И с п о л н и м ы е п р о г р а м м ы н а Python

 

Э т о к а с а е т с я т о л ь к о п о л ь з о в а т е л е й GNU/Linux и Unix, н о п о л ь з о в а т е л я м Windows т о ж е б у д е т п о л е з н о о б э т о м з н а т ь.

 

К а ж д ы й р а з, к о г д а н а м н у ж н о з а п у с т и т ь п р о г р а м м у н а Python, н а м п р и х о д и т с я в я в н о м в и д е з а п у с к а т ь python3 foo. py. Н о п о ч е м у б ы н а м н е з а п у с к а т ь е ё т о ч н о т а к ж е, к а к и в с е д р у г и е п р о г р а м м ы? Э т о г о м о ж н о д о с т и ч ь п р и п о м о щ и т а к н а з ы в а е м о г о hashbang.

 

Д о б а в ь т е с т р о к у, у к а з а н н у ю н и ж е, в с а м о е н а ч а л о в а ш е й п р о г р а м м ы:

 

#! /usr/bin/env python3

 

Т е п е р ь в а ш а п р о г р а м м а д о л ж н а в ы г л я д е т ь т а к:

 

#! /usr/bin/env python3

 

print ('П р и в е т, М и р! ')

 

Т е п е р ь н е о б х о д и м о у с т а н о в и т ь п р о г р а м м е а т р и б у т и с п о л н и м о с т и, и с п о л ь з у я к о м а н д у chmod, а з а т е м в ы п о л н и т ь п р о г р а м м у.

 

К о м а н д а chmod з д е с ь и с п о л ь з у е т с я д л я и з м е н е н и я р е ж и м а ф а й л а 3 д о б а в л е н и е м а т р и б у т а и с п о л н и м о с т и д л я в с е х п о л ь з о в а т е л е й в с и с т е м е 4.

ange mod e - а н г л. «и з м е н и т ь р е ж и м » (п р и м. п е р е в. )

 

В у к а з а н н о й к о м а н д е б у к в а “ a ” в з я т а и з с л о в а “ a ll” (а н г л. «в с е »), а б у к в а “ x ” – и з с л о в а “e x ecute” (а н г л. «и с п о л н я т ь ») – п р и м. п е р е в.


 

6. 4. И с п о л ь з о в а н и е п р о г р а м м н ы х ф а й л о в                                                                                            31


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

 

$ chmod a+x helloworld. py

 

П о с л е э т о г о м ы м о ж е м з а п у с к а т ь п р о г р а м м у н а п р я м у ю, п о т о м у ч т о н а ш а о п е р а ц и о н -н а я с и с т е м а з а п у с т и т /usr/bin/env, к о т о р ы й, в с в о ю о ч е р е д ь, н а й д ё т Python 3, а з н а ч и т, с м о ж е т з а п у с т и т ь н а ш ф а й л.

 

$. /helloworld. py

 

П р и в е т, М и р!

 

З д е с ь “. /” о б о з н а ч а е т, ч т о п р о г р а м м а н а х о д и т с я в т е к у щ е м к а т а л о г е.

 

Р а д и и н т е р е с а м о ж е т е д а ж е п е р е и м е н о в а т ь ф а й л в п р о с т о “helloworld” и з а п у с т и т ь е г о к а к . /helloworld, и э т о т а к ж е с р а б о т а е т, п о с к о л ь к у с и с т е м а з н а е т, ч т о з а п у с к а т ь п р о -г р а м м у н у ж н о и н т е р п р е т а т о р о м, п о л о ж е н и е к о т о р о г о у к а з а н о в п е р в о й с т р о к е ф а й л а п р о г р а м м ы.

 

Н о д о с и х п о р м ы м о г л и в ы п о л н я т ь с в о ю п р о г р а м м у т о л ь к о е с л и з н а л и п о л н ы й п у т ь

 

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

 

П р и п о п ы т к е з а п у с к а к а к о й -л и б о п р о г р а м м ы с и с т е м а и щ е т е ё в к а т а л о г а х, п е р е ч и с л е н -н ы х в п е р е м е н н о й о к р у ж е н и я PATH, и з а п у с к а е т. Т а к и м о б р а з о м, м ы м о ж е м с д е л а т ь п р о -г р а м м у д о с т у п н о й и з л ю б о г о м е с т а, с к о п и р о в а в е ё в о д и н и з к а т а л о г о в, п е р е ч и с л е н н ы х

PATH.

 

echo $PATH /usr/local/bin: /usr/bin: /bin: /usr/X11R6/bin: /home/swaroop/bin

cp helloworld. py /home/swaroop/bin/helloworld

 

helloworld

 

П р и в е т, М и р!

 

М ы м о ж е м в ы в е с т и н а э к р а н з н а ч е н и е п е р е м е н н о й PATH п р и п о м о щ и к о м а н д ы echo, д о -б а в и в п е р е д и м е н е м п е р е м е н н о й с и м в о л $, ч т о б ы у к а з а т ь о б о л о ч к е, ч т о м ы х о т и м п о л у -ч и т ь з н а ч е н и е э т о й п е р е м е н н о й. М ы в и д и м, ч т о /home/swaroop/bin – о д и н и з к а т а л о г о в

 

п е р е м е н н о й PATH, г д е swaroop – э т о и м я п о л ь з о в а т е л я, к о т о р о е я и с п о л ь з у ю в с в о е й с и с т е м е. В в а ш е й с и с т е м е, с к о р е е в с е г о, б у д е т а н а л о г и ч н ы й к а т а л о г д л я в а ш е г о п о л ь з о -в а т е л я.

 

В ы т а к ж е м о ж е т е д о б а в и т ь к а к о й -л и б о к а т а л о г к п е р е м е н н о й PATH – э т о м о ж н о с д е л а т ь, в ы п о л н и в PATH=$PATH: /home/swaroop/mydir, г д е '/home/swaroop/mydir' – э т о к а т а л о г, к о т о р ы й я х о ч у д о б а в и т ь к п е р е м е н н о й PATH.

 

Э т о т м е т о д п о л е з е н д л я н а п и с а н и я с ц е н а р и е в, к о т о р ы е б у д у т д о с т у п н ы д л я з а п у с к а в л ю -б о й м о м е н т и з л ю б о г о м е с т а. П о с у т и, э т о р а в н о с и л ь н о с о з д а н и ю с о б с т в е н н ы х к о м а н д, к а к cd и л и л ю б о й д р у г о й, к о т о р ы е ч а с т о и с п о л ь з у ю т с я в т е р м и н а л е GNU/Linux и л и п р и -г л а ш е н и и DOS.

 

П р и м е ч а н и е: К о г д а р е ч ь и д ё т о Python, с л о в а «п р о г р а м м а »и л и «с ц е н а р и й (с к р и п т )»о б о з н а ч а ю т о д н о и т о ж е.

 

32                                                                                                                                       Г л а в а 6. П е р в ы е ш а г и


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

 

6. 5 П о л у ч е н и е п о м о щ и

 

Д л я б ы с т р о г о п о л у ч е н и я и н ф о р м а ц и и о л ю б о й ф у н к ц и и и л и о п е р а т о р е Python с л у ж и т в с т р о е н н а я ф у н к ц и я help. Э т о о с о б е н н о у д о б н о п р и и с п о л ь з о в а н и и к о м а н д н о й с т р о к и и н т е р п р е т а т о р а. К п р и м е р у, в ы п о л н и т е help(print) – э т о п о к а ж е т с п р а в к у п о ф у н к ц и и print, к о т о р а я и с п о л ь з у е т с я д л я в ы в о д а н а э к р а н.

 

П р и м е ч а н и е: Д л я в ы х о д а и з с п р а в к и н а ж м и т е q.

 

А н а л о г и ч н ы м о б р а з о м м о ж н о п о л у ч и т ь и н ф о р м а ц и ю п о ч т и о ч ё м у г о д н о в Python. П р и п о м о щ и ф у н к ц и и help() м о ж н о д а ж е п о л у ч и т ь о п и с а н и е с а м о й ф у н к ц и и help!

 

Е с л и в а с и н т е р е с у е т и н ф о р м а ц и я о б о п е р а т о р а х, к а к н а п р и м е р, return, и х н е о б х о д и м о у к а з ы в а т ь в к а в ы ч к а х (н а п р и м е р, help('return')), ч т о б ы Python п о н я л, ч е г о м ы х о т и м.

 

 

6. 6 Р е з ю м е

 

Т е п е р ь в ы у м е е т е с л ё г к о с т ь ю п и с а т ь, с о х р а н я т ь и з а п у с к а т ь п р о г р а м м ы н а Python.

 

п о с к о л ь к у с е й ч а с в ы у ж е и с п о л ь з у е т е Python, д а в а й т е у з н а е м б о л ь ш е о е г о о с н о в н ы х п р и н ц и п а х.


 

 

6. 5. П о л у ч е н и е п о м о щ и                                                                                                                                          33


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


 

34                                                                                                                                       Г л а в а 6. П е р в ы е ш а г и


 

О с н о в ы

 

 

П р о с т о н а п е ч а т а т ь «П р и в е т, М и р! » н е д о с т а т о ч н о, в е р н о? В ы х о т и т е с д е л а т ь б о л ь ш е – в ы х о т и т е в в е с т и ч т о -т о в п р о г р а м м у, о б р а б о т а т ь и п о л у ч и т ь н е ч т о н а в ы х о д е. В Python э т о м о ж н о о р г а н и з о в а т ь п р и п о м о щ и к о н с т а н т и п е р е м е н н ы х, а т а к ж е н е к о т о р ы м и д р у г и м и с п о с о б а м и, к о т о р ы е б у д у т р а с с м о т р е н ы в э т о й г л а в е.



  

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