мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
tc:python [13/01/2018 06:20] – [Базовые конструкции] ybezrukovtc:python [13/01/2018 09:07] (текущий) – [Введение] ybezrukov
Строка 7: Строка 7:
 **Скриптовые языки** (их еще называют сценарными) имеют очень нечеткое определение. Обычно это означает, что язык не используется для системного программирования (например, создания ядер операционных систем), а служит утилитарным целям как то организация взаимодействия низкоуровневых компонентов, преобразование данных и т.д. Иными словами, языки такого типа служат прослойками между чем-то другим. Однако, данное определение покрывает далеко не все возможные вариации языков. Скриптовый язык оболочки (sh или какой VB Script) еще укладываются в его прокрустово ложе, то Perl или наш Питон уже заметно выходят за его пределы. Поэтому вводятся еще дополнительные градации: командно-сценарные языки, вот тут как раз и лежат sh с VB Script, прикладные сценарные языки, такие как AutoLISP (встроенный язык в чертежной системе Autocad), VBA или StarBasic (встроенные языки в Microsoft или Open Office соответственно) и сценарные языки общего назначения. Последние класс самый молодой в него-то и принято укладывать скриптовые языки, имеющие наиболее широкие возможности. Не стоит, однако, думать что языки оболочки или прикладные сценарные языки ущербны по отношению к языкам общего назначения. Многие языки оболочки ровно так же полны по Тьюрингу как и любой другой "большой" язык программирования, просто у них другая специализация.  **Скриптовые языки** (их еще называют сценарными) имеют очень нечеткое определение. Обычно это означает, что язык не используется для системного программирования (например, создания ядер операционных систем), а служит утилитарным целям как то организация взаимодействия низкоуровневых компонентов, преобразование данных и т.д. Иными словами, языки такого типа служат прослойками между чем-то другим. Однако, данное определение покрывает далеко не все возможные вариации языков. Скриптовый язык оболочки (sh или какой VB Script) еще укладываются в его прокрустово ложе, то Perl или наш Питон уже заметно выходят за его пределы. Поэтому вводятся еще дополнительные градации: командно-сценарные языки, вот тут как раз и лежат sh с VB Script, прикладные сценарные языки, такие как AutoLISP (встроенный язык в чертежной системе Autocad), VBA или StarBasic (встроенные языки в Microsoft или Open Office соответственно) и сценарные языки общего назначения. Последние класс самый молодой в него-то и принято укладывать скриптовые языки, имеющие наиболее широкие возможности. Не стоит, однако, думать что языки оболочки или прикладные сценарные языки ущербны по отношению к языкам общего назначения. Многие языки оболочки ровно так же полны по Тьюрингу как и любой другой "большой" язык программирования, просто у них другая специализация. 
  
-**Интерпретируемый язык**, это язык который выполняется с помощью интерпретатора. Интерпретатор, это программа которая делает интерпретацию. Интерпретация - процесс <del>исполнения программы на интерпретируемом языке.</del> выполнения, в котором командные конструкции программы обрабатываются (транслируется) построчно и тут же выполняются. В случае компилируемого языка, программа сначала транслируется, а после выполняется. Интерпретаторы бывают двух типов: простые и компилирующие. Если простые интерпретаторы без особых раздумий шаг за шагом выполняют программу, то компилирующие разбивают процесс выполнения на два шага: +**Интерпретируемый язык**, это язык который выполняется с помощью интерпретатора. Интерпретатор, это программа которая делает интерпретацию. Интерпретация - процесс выполнения, в котором командные конструкции программы обрабатываются (транслируется) построчно и тут же выполняются. В случае компилируемого языка, программа сначала транслируется, а после выполняется. Интерпретаторы бывают двух типов: простые и компилирующие. Если простые интерпретаторы без особых раздумий шаг за шагом выполняют программу, то компилирующие разбивают процесс выполнения на два шага: 
  
   * Этап трансляции, на исходный код переводится в байт-код, промежуточное представление программы, которое представляет собой набор инструкций для некоего виртуального вычислительного устройства (виртуальной машины).    * Этап трансляции, на исходный код переводится в байт-код, промежуточное представление программы, которое представляет собой набор инструкций для некоего виртуального вычислительного устройства (виртуальной машины). 
Строка 47: Строка 47:
 **Условия** **Условия**
  
-Логические операторы+Логические операторы:
 <code python> <code python>
 name = "Юрий" name = "Юрий"
Строка 81: Строка 81:
 А вот цикла с постусловием как отдельной конструкции нет, но его поведение можно сэмулировать: А вот цикла с постусловием как отдельной конструкции нет, но его поведение можно сэмулировать:
 <code python> <code python>
-count = 0+count = input() # а так получить значение переменной с клавиатуры
 while True: while True:
   print(count)   print(count)
Строка 181: Строка 181:
 {{url>http://novt.net/iframe-embed.html#code=l+%3D+%5B1,+2,+5.5,+'abcd',+%5B1,2.5%5D%5D%0A%0Afor+x+in+l%3A%0A++++print(x%29&origin=opt-frontend.js&cumulative=false&heapPrimitives=false&textReferences=false&py=3&rawInputLstJSON=%5B%5D&curInstr=0&codeDivWidth=350&codeDivHeight=400}} {{url>http://novt.net/iframe-embed.html#code=l+%3D+%5B1,+2,+5.5,+'abcd',+%5B1,2.5%5D%5D%0A%0Afor+x+in+l%3A%0A++++print(x%29&origin=opt-frontend.js&cumulative=false&heapPrimitives=false&textReferences=false&py=3&rawInputLstJSON=%5B%5D&curInstr=0&codeDivWidth=350&codeDivHeight=400}}
  
-Однако, существует возможность обратиться ко всем элементам списка и по номеру (например, нам хочется видеть их не все, а только с четными номерами). Сделать это можно воспользовавшись специальной функцией, предоставляемой стандартной библиотекой языка, которая называется range(). Эта функция создает список, состоящий из последовательных натуральных чисел, соответствующих условию. Функция может принимать от одного до трех аргументов и в зависимости от этого меняется ее поведение:+Однако, существует возможность обратиться ко всем элементам списка и по номеру (например, нам хочется видеть их не все, а только с четными номерами). Сделать это можно воспользовавшись специальной функцией, предоставляемой стандартной библиотекой языка, которая называется range(). Эта функция создает "список", состоящий из последовательных натуральных чисел, соответствующих условию. Функция может принимать от одного до трех аргументов и в зависимости от этого меняется ее поведение:
  
-  * range(a) - создает список, содержащий числа от 0 до a-1 +  * range(a) - создает "список", содержащий числа от 0 до a-1 
-  * range(a, b) - создает список, содержащий числа от a до b-1 +  * range(a, b) - создает "список", содержащий числа от a до b-1 
-  * range(a, b, c) - создает список, содержащий числа от a до b-1 с шагом c+  * range(a, b, c) - создает "список", содержащий числа от a до b-1 с шагом c
  
 Например: Например:
Строка 192: Строка 192:
 Воспользуемся этим знанием, чтобы перебрать элементы списка другим способом: Воспользуемся этим знанием, чтобы перебрать элементы списка другим способом:
 {{url>http://novt.net/iframe-embed.html#code=l+%3D+%5B1,+2,+5.5,+'abcd',+%5B1,2.5%5D%5D%0A%0Afor+x+in+range(2,len(l%29,2%29%3A%0A++++print(l%5Bx%5D%29&origin=opt-frontend.js&cumulative=false&heapPrimitives=false&textReferences=false&py=3&rawInputLstJSON=%5B%5D&curInstr=0&codeDivWidth=350&codeDivHeight=400}} {{url>http://novt.net/iframe-embed.html#code=l+%3D+%5B1,+2,+5.5,+'abcd',+%5B1,2.5%5D%5D%0A%0Afor+x+in+range(2,len(l%29,2%29%3A%0A++++print(l%5Bx%5D%29&origin=opt-frontend.js&cumulative=false&heapPrimitives=false&textReferences=false&py=3&rawInputLstJSON=%5B%5D&curInstr=0&codeDivWidth=350&codeDivHeight=400}}
- 
 ====== Функция split ====== ====== Функция split ======
  
Строка 201: Строка 200:
 </code> </code>
  
-И у нас возникло желание <del>(странные желания приходят в голову после обеда)</del> составить из нее список из трех элементов "1", "23" и "14".+И у нас возникло желание составить из нее список из трех элементов "1", "23" и "14".
  
 Можно эту задачу решить с помощью самодельной функции, которая будет искать пробелы. Однако, в Питоне есть встроенная функция, которая позволяет сделать это несколько проще.  Можно эту задачу решить с помощью самодельной функции, которая будет искать пробелы. Однако, в Питоне есть встроенная функция, которая позволяет сделать это несколько проще.