HOW-TO: Программа на Python, Часть 1 Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
fullcircle:27:python_ч_1 [2016/03/11 22:24]
[Наша первая программа]
fullcircle:27:python_ч_1 [2016/03/15 17:35] (текущий)
[Пример цикла For]
Строка 27: Строка 27:
 Введите эти 4 строки:​ Введите эти 4 строки:​
 <​code>​ <​code>​
-#​!/​usr/​bin/​env ​python+#​!/​usr/​bin/​env ​python3
 print ("​Hello. I am a python program."​) print ("​Hello. I am a python program."​)
 name = input("​What is your name?"​) name = input("​What is your name?"​)
Строка 46: Строка 46:
 Вот и всё. Теперь давайте рассмотрим что делает каждая строка программы. Вот и всё. Теперь давайте рассмотрим что делает каждая строка программы.
  
-<​code>#​!/​usr/​bin/​env ​python</​code>​+<​code>#​!/​usr/​bin/​env ​python3</​code>​
  
-Эта строка сообщает системе,​ что для запуска программы необходимо использовать интерпретатор Python.+Эта строка сообщает системе,​ что для запуска программы необходимо использовать интерпретатор Python ​версии 3.
  
 <​code>​print ("​Hello. I am a python program."​)</​code>​ <​code>​print ("​Hello. I am a python program."​)</​code>​
Строка 65: Строка 65:
 Теперь давайте быстро обсудим то, что мы сделали,​ и перейдём к работе над следующим примером. Откройте окно терминала и наберите:​ Теперь давайте быстро обсудим то, что мы сделали,​ и перейдём к работе над следующим примером. Откройте окно терминала и наберите:​
  
-<​code>​python</​code>​+<​code>​python3</​code>​
  
 Вы должны увидеть что-то наподобие этого: Вы должны увидеть что-то наподобие этого:
  
-<​code>​greg@earth:​~/​python_examples$ ​python +<​code>​greg@earth:​~/​python_examples$ ​python3 
-Python ​2.5.(r252:60911, Oct 5 200819:24:49+Python ​3.4.(default, Oct 14 201520:28:29
-[GCC 4.3.2] on linux2+[GCC 4.8.4] on linux
 Type "​help",​ "​copyright",​ "​credits"​ or "​license"​ for more information.</​code>​ Type "​help",​ "​copyright",​ "​credits"​ or "​license"​ for more information.</​code>​
  
  
-Теперь вы находитесь в командной оболочке python. Здесь вы можете выполнять действия,​ но для начала разберёмся с тем, что у нас получилось. Первым делом вы увидите версию интерпретатора python — у меня стоит ​2.5.2. Затем вы увидите сообщение о том, что для получения справки необходимо набрать «help» в командной строке. Это я оставляю Вам в качестве домашнего задания. А пока наберите:​+Теперь вы находитесь в командной оболочке python. Здесь вы можете выполнять действия,​ но для начала разберёмся с тем, что у нас получилось. Первым делом вы увидите версию интерпретатора python — у меня стоит ​3.4.3. Затем вы увидите сообщение о том, что для получения справки необходимо набрать «help» в командной строке. Это я оставляю Вам в качестве домашнего задания. А пока наберите:​
  
-<​code>​print 2+2</​code>​+<​code>​print ​(2+2)</​code>​
  
 и нажмите Enter. вы увидите:​ и нажмите Enter. вы увидите:​
  
-<​code>​print 2+2+<​code>​print ​(2+2)
 4</​code>​ 4</​code>​
  
-Обратите внимание,​ что мы набрали слово «print» в нижнем регистре. Что произойдёт,​ если набрать «Print 2+? Интерпретатор ответит следующим образом:​+Обратите внимание,​ что мы набрали слово «print» в нижнем регистре. Что произойдёт,​ если набрать «Print ​(2+2)»? Интерпретатор ответит следующим образом:​
  
-<​code>​Print 2+2 +<​code>​Print ​(2+2) 
-      File "<​stdin>",​ line 1 +Traceback (most recent call last): 
-         ​Print 2+2+  ​File "<​stdin>",​ line 1, in <​module>​ 
 +NameError: name 'Print' is not defined</​code>​
  
-SyntaxError:​ invalid syntax</​code>​ 
  
 Это произошло потому,​ что слово «print» является зарегистрированной командой,​ а слово «Print» не является таковой. Для Python регистр очень важен. Это произошло потому,​ что слово «print» является зарегистрированной командой,​ а слово «Print» не является таковой. Для Python регистр очень важен.
Строка 99: Строка 99:
 Вы увидите,​ что ничего не происходит,​ за исключением того, что Python отобразит приглашение %%«>>>​»%%. Всё нормально. Мы поручили Python создать переменную (ящик) под названием «var» и положить в неё результат сложения «2+2». Чтобы увидеть,​ что теперь находится в переменной «var», введите:​ Вы увидите,​ что ничего не происходит,​ за исключением того, что Python отобразит приглашение %%«>>>​»%%. Всё нормально. Мы поручили Python создать переменную (ящик) под названием «var» и положить в неё результат сложения «2+2». Чтобы увидеть,​ что теперь находится в переменной «var», введите:​
  
-<​code>​print var</​code>​+<​code>​print ​(var)</​code>​
  
 и нажмите Enter. и нажмите Enter.
  
-<​code>​print var+<​code>​print ​(var)
 4</​code>​ 4</​code>​
  
 Теперь мы можем снова использовать переменную «var» как число 4. Например,​ так: Теперь мы можем снова использовать переменную «var» как число 4. Например,​ так:
  
-<​code>​print var * 2+<​code>​print ​(var * 2)
 8</​code>​ 8</​code>​
  
-Если мы снова наберём «print ​var», то увидим следующее:​+Если мы снова наберём «print ​(var)», то увидим следующее:​
  
-<​code>​print var+<​code>​print ​(var)
 4</​code>​ 4</​code>​
  
Строка 123: Строка 123:
  
 <​code>​strng = 'The time has come for all good men to come to the aid of the party!'​ <​code>​strng = 'The time has come for all good men to come to the aid of the party!'​
-print strng+print (strng)
 The time has come for all good men to come to the aid of the party!</​code>​ The time has come for all good men to come to the aid of the party!</​code>​
  
Строка 129: Строка 129:
 Вы создали переменную под названием «strng», которая содержит значение «The time has come for all good men to come to the aid of the party!». С этого момента (пока мы работаем с этим экземпляром интерпретатора) переменная «strng» будет содержать то же значение,​ пока мы её не изменим. Что будет, если мы попробуем умножить эту переменную на 4? Вы создали переменную под названием «strng», которая содержит значение «The time has come for all good men to come to the aid of the party!». С этого момента (пока мы работаем с этим экземпляром интерпретатора) переменная «strng» будет содержать то же значение,​ пока мы её не изменим. Что будет, если мы попробуем умножить эту переменную на 4?
  
-<​code>​print strng * 4 +<​code>​print ​(strng * 2) 
-The time has come for all good men to come to the aid of the party!The time has come for all good men to come to the aid of the party!The time has come for all good men to come to the aid of the party!The time has come for all good men to come to the aid of the party!</​code>​+The time has come for all good men to come to the aid of the party!The time has come for all good men to come to the aid of the party!</​code>​
  
  
-Произошло не совсем то, что вы ожидали. Python напечатал значение переменной «strng» ​раза. Почему?​ Интерпретатор знал, что переменная «strng» — это строка,​ а не число. Невозможно производить математические операции над строками.+Произошло не совсем то, что вы ожидали. Python напечатал значение переменной «strng» ​раза. Почему?​ Интерпретатор знал, что переменная «strng» — это строка,​ а не число. Невозможно производить математические операции над строками.
  
 Если бы у нас была переменная под названием «s», которая содержала бы значение «4» как показано ниже: Если бы у нас была переменная под названием «s», которая содержала бы значение «4» как показано ниже:
  
 <​code>​s = '​4'​ <​code>​s = '​4'​
-print s+print (s)
 4</​code>​ 4</​code>​
  
-Кажется,​ что переменная «s» содержит число 4, но это не так. Она содержит текстовое значение «4». И если мы наберем «print s * , то получим...+Кажется,​ что переменная «s» содержит число 4, но это не так. Она содержит текстовое значение «4». И если мы наберем «print ​(s * 4)», то получим...
  
-<​code>​print s*4+<​code>​print ​(s*4)
 4444</​code>​ 4444</​code>​
  
Строка 149: Строка 149:
 Мы можем проверить это, набрав «print type(s)», чтобы увидеть,​ какой тип система присвоила данной переменной. Мы можем проверить это, набрав «print type(s)», чтобы увидеть,​ какой тип система присвоила данной переменной.
  
-<​code>​print type(s) +<​code>​print ​(type(s)
-<type '​str'></​code>​+<class '​str'></​code>​
  
 Подтверждено. Переменная имеет тип «строка». Если мы захотим использовать её в качестве числа, то мы напечатаем следующее:​ Подтверждено. Переменная имеет тип «строка». Если мы захотим использовать её в качестве числа, то мы напечатаем следующее:​
  
-<​code>​print int(s) * 4+<​code>​print ​(int(s) * 4)
 16</​code>​ 16</​code>​
  
 Строка «s», содержащая значение «4», преобразована в число и умножена на 4, что равно 16. Строка «s», содержащая значение «4», преобразована в число и умножена на 4, что равно 16.
  
-Теперь у Вас есть основные знания о командах print и raw_input, создании переменных и разнице между строками и числами.+Теперь у Вас есть основные знания о командах print и input, создании переменных и разнице между строками и числами.
  
 Пойдём дальше. В интерпретаторе Python введите quit() для выхода в командную строку. Пойдём дальше. В интерпретаторе Python введите quit() для выхода в командную строку.
Строка 167: Строка 167:
 Теперь давайте рассмотрим пример программирования цикла. Запустите текстовый редактор и наберите следующую программу:​ Теперь давайте рассмотрим пример программирования цикла. Запустите текстовый редактор и наберите следующую программу:​
  
-<​code>#​!/​usr/​bin/​env ​python+<​code>#​!/​usr/​bin/​env ​python3
 for cntr in range(0,​10):​ for cntr in range(0,​10):​
-    print cntr</​code>​+    print (cntr)</​code>​
  
-Не забудьте поставить символ табуляции перед строкой «print ​cntr». Это важно. В Python для указания на блоки кода используются не круглые «(» и фигурные «{» скобки как в других языках программирования,​ а отступы.+Не забудьте поставить символ табуляции перед строкой «print ​(cntr)». Это важно. В Python для указания на блоки кода используются не круглые «(» и фигурные «{» скобки как в других языках программирования,​ а отступы.
  
 Сохраните программу под именем «for_loop.py». До её запуска давайте поговорим о том, что такое цикл «for». Сохраните программу под именем «for_loop.py». До её запуска давайте поговорим о том, что такое цикл «for».
Строка 210: Строка 210:
 <​code>#​!/​usr/​bin/​env python <​code>#​!/​usr/​bin/​env python
 for cntr in range(1,​11):​ for cntr in range(1,​11):​
-    print cntr +    print (cntr) 
-print 'All Done'</​code>​+print ("All Done")</​code>​
  
 Мы увидим на экране следующее:​ Мы увидим на экране следующее:​