Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Введение
История создания языка
Почему программисты используют Python?
Ктов нашвремя используетPython?
Философия языка
Достоинства языка Python
Недостатки языка Python
Основные типы объектов языка...........................................................................1
3Циклы while и for...................................................................................................1
6Основы функций....................................................................................................
17Математические операции..................................................................................
..20Заключение.........................................................................................................
....22Библиографи..................................................................................2ческий сп
исок
Питон создал в начале 1990-х гг. сотрудник голландского
института CWI
Гвидо ван Россум (Guido van Rossum). Для распределенной
ОС Amoeba
требовался расширяемый скриптовый язык, и Гвидо начал
писать Питон на
досуге, заимствовав некоторые наработки для языка ABC (Гвидо
участвовал в
разработке этого языка, ориентированного на обучение
программированию).
Затем язык начал свободно распространяться через
Интернет и понравился
другим программистам. С самого начала Питон проектировался
как объектно
Питон создал в начале 1990-х гг. сотрудник голландского
института CWI
Гвидо ван Россум (Guido van Rossum). Для распределенной
ОС Amoeba
требовался расширяемый скриптовый язык, и Гвидо начал
писать Питон на
досуге, заимствовав некоторые наработки для языка ABC (Гвидо
участвовал в
разработке этого языка, ориентированного на обучение
программированию).
Затем язык начал свободно распространяться через
Интернет и понравился
другим программистам. С самого начала Питон проектировался
как объектно
Питон создал в начале 1990-х гг. сотрудник голландского
института CWI
Гвидо ван Россум (Guido van Rossum). Для распределенной
ОС Amoeba
требовался расширяемый скриптовый язык, и Гвидо начал
писать Питон на
досуге, заимствовав некоторые наработки для языка ABC (Гвидо
участвовал в
разработке этого языка, ориентированного на обучение
программированию).
Затем язык начал свободно распространяться через
Интернет и понравился
другим программистам. С самого начала Питон проектировался
как объектно
Питон создал в начале 1990-х гг. сотрудник голландского
института CWI
Гвидо ван Россум (Guido van Rossum). Для распределенной
ОС Amoeba
требовался расширяемый скриптовый язык, и Гвидо начал
писать Питон на
досуге, заимствовав некоторые наработки для языка ABC (Гвидо
участвовал в
разработке этого языка, ориентированного на обучение
программированию).
Затем язык начал свободно распространяться через
Интернет и понравился
другим программистам. С самого начала Питон проектировался
как объектно
Питон создал в начале 1990-х гг. сотрудник голландского
института CWI
Гвидо ван Россум (Guido van Rossum). Для распределенной
ОС Amoeba
требовался расширяемый скриптовый язык, и Гвидо начал
писать Питон на
досуге, заимствовав некоторые наработки для языка ABC (Гвидо
участвовал в
разработке этого языка, ориентированного на обучение
программированию).
Затем язык начал свободно распространяться через
Интернет и понравился
другим программистам. С самого начала Питон проектировался
как объектно
Питон создал в начале 1990-х гг. сотрудник голландского
института CWI
Гвидо ван Россум (Guido van Rossum). Для распределенной
ОС Amoeba
требовался расширяемый скриптовый язык, и Гвидо начал
писать Питон на
досуге, заимствовав некоторые наработки для языка ABC (Гвидо
участвовал в
разработке этого языка, ориентированного на обучение
программированию).
Затем язык начал свободно распространяться через
Интернет и понравился
другим программистам. С самого начала Питон проектировался
как объектно
Введение
В связи с наблюдаемым в настоящее время стремительным
развитиемперсональной вычислительной техники, происходит
постепенное изменениетребований, предъявляемых к языкам
программирования. Все большую
рольначинают играть интерпретируемые языки, поскольку во
зрастающая мощьперсональных компьютеров начинает обесп
ечивать достаточную скоростьвыполнения
интерпретируемых программ. А единственным
существеннымп р е и м у щ е с т в о м к о м п и л и р у е м ы х я з ы к о в
п р о г р а м м и р о в а н и я я в л я е т с я создаваемый ими
высокоскоростной код.
Философия языка
Разработчики языка Python придерживаются
определённойфилософии программирования, называемой «The Zen
of Python» («ДзенПитона). Её текст выдаётся интерпретатором
Python по команде
import this
(работает один раз за сессию). Автором этой философии считается
ТимПетерс (Tim Peters).
Текст философии:
Красивое лучше, чем уродливое. Явное лучше, чем
неявное.Простое лучше, чем сложное.Сложное лучше, чем
запутанное.Плоское лучше, чем вложенное.Разреженное лучше,
чем плотное. Читаемость имеет значение.Особые случаи
не настолько особые, чтобы нарушать правила.При этом
практичность важнее безупречности.Ошибки никогда не должны
замалчиваться.Если не замалчиваются явно.Встретив
двусмысленность, отбрось искушение угадать.Должен существовать
один — и, желательно, только один — очевидныйспособ сделать
это.Хотя он поначалу может быть и не очевиден, если вы не
голландец.Сейчас лучше, чем никогда.Хотя никогда зачастую лучше, чем
прямо сейчас.Если реализацию сложно объяснить —
идея плоха.Если реализацию легко объяснить — идея, возможно,
хороша.Пространства имён — отличная вещь! Давайте будем делать их
больше!
Выделить
Добавить заметку
Поделится цитатой
>>> print("a[2] =", a[2])a[2] = 15>>> print("a[0:3] =", a[0:3])a[0:3] =
[5, 10, 15]>>> print("a[5:] =", a[5:])a[5:] = [30, 35,
40]Списки являются изменяемым типом, т.е. значения ег
о элементов можно изменить:>>> a = [1,2,3]>>> a[2] = 4>>> a[1, 2,
4]
3 . К о р т е ж и
Так же как и список, кортеж (tuple) является
у п о р я д о ч е н н о й последовательностью элементов. Вся
разница заключается в том, что кортежинеизменяемы.Кортежи
используются для защиты данных от перезаписи и
обычно работают быстрее, чем списки, т.к. их нельзя
изменять.Д л я с о з д а н и я к о р т е ж а н у ж н о п о м е с т и т ь в н у т
р ь к р у г л ы х с к о б о к элементы, разделённые запятой:>>> t =
(5,'program', 1+3j)Мы можем использовать оператор извлечения
среза [] для извлеченияэлементов, но мы не можем менять
их значения:>>> t = (5,'program', 1+3j)>>> print("t[1] =", t[1])t[1] =
program
13
4 . С т р о к и
Строка представляет собой последовательность символов. Мы
можеми с п о л ь з о в а т ь о д и н а р н ы е и л и д в о й н ы е к а в ы
ч к и д л я с о з д а н и я с т р о к и . Многострочные строки можно
обозначить тройными кавычками, ''' или """:>>> s = "Простая
строка">>> s = '''многострочная строка'''Как и в случае со
списками и кортежами, мы можем использовать оператор
[] и со строками. Стоит отметить, что строки в Python
относятся ккатегории неизменяемых последовательностей, то есть
все функции и методымогут лишь создавать новую строку.
5 . М н о ж е с т в а
М н о ж е с т в о я в л я е т с я н е у п о р я д о ч
е н н о й у н и к а л ь н о й последовательностью.
О б ъ я в л я е т с я м н о ж е с т в о с п о м о щ ь ю э л е м е н т о в , разде
лённых запятой, внутри фигурных
скобок:> > > a = { 5 , 2 , 3 , 1 , 4 } # в ы в о д
п е р е м е н н о й м н о ж е с т в а >>> print("a =", a)a =
{1, 2, 3, 4, 5}#тип данных переменной а>>> print(type(a))<class
'set'>Над множествами можно выполнять такие операции, как
объединениеи пересечение. Т.к. элементы в множестве до
лжны быть уникальны, ониавтоматически удаляют
дубликаты:>>> a = {1,2,2,3,3,3}>>> a{1, 2,
3}П о с к о л ь к у м н о ж е с т в о я в л я е т с
я н е у п о р я д о ч е н н о й последовательностью,
оператор извлечения среза здесь не работает:>>> a = {1,2,3}
14
>>> a[1]Traceback (most recent call last):File "<stdin>", line 1, in
<module>TypeError: 'set' object does not support indexing
Основы функций
Функция – это средство, позволяющее групп
и р о в а т ь н а б о р ы инструкций так, что в программе они
могут запускаться неоднократно.Функции могут вычисл
ять некоторый результат и позволять указыватьвходные
параметры, отличающиеся по своим значениям от вызова к
вызову.Возможность оформления операций в виде функций –
это очень удобныйинструмент, который мы можем использовать в
самых разных ситуациях.С принципиальной точки зрения
функции устраняют
необходимостьв с т а в л я т ь в п р о г р а м м у и з б ы т о ч н ы е
копии блоков одного и того жепрограммного ко
да, так как они могут быть заменены единствен
н о й функцией. Благодаря функциям можно существенно уменьшить
трудозатратына программирование: если операцию необход
имо будет видоизменить, достаточно будет внести изменения
всего в одном месте, а не во
многих.Ф у н к ц и и – э т о с а м ы е о с н о в н ы е п р о г р а м м н ы е
с т р у к т у р ы в я з ы к е Python, обеспечивающие многократное
использование программного кода иуменьшающие
его избыточность.Э т о е щ е и с р е д с т в о п р о е к т и р о в а н и я , к
о т о р о е п о з в о л я е т р а з б и т ь сложную систему на достаточно
простые и легко управляемые части.
1 . И н с т р у к ц и я d e f
Инструкция def создает объект функции и связывает его с
именем. Вобщем виде инструкция имеет следующий формат:def
<name>(arg1, arg2,
...
argN):<statements>К а к и в с е с о с т а в н ы е и н с т р у к ц и и в я з
ы к е P y t h o n , и н с т р у к ц и я d e f состоит из строки заголовка и
следующего за ней блока инструкций, обычнос отступами (или
простая инструкция вслед за двоеточием). Блок
инструкцийо б р а з у е т
тело
функции, то есть программный код, который выполняетсяинт
ерпретатором всякий раз, когда производится вызов
функции.В строке заголовка инструкции def определяются
и м я
функции, ск о т о р ы м б у д е т с в я з а н о б ъ е к т ф у н к ц и
и и список из нуля или более
аргументов
(иногда их называют параметрами) в круглых скобках.
Именааргументов в строке заголовка будут связаны с объектами,
передаваемыми вфункцию, в точке вызова.Тело функции часто
содержит инструкцию return:def <name>(arg1, arg2,
...
argN):
...
return <value>Инструкция return может располагаться в любом
месте в
теле функции – она завершает работу функции и передает результа
т вызывающейпрограмме. Инструкция return содержит объектное
выражение, которое
дает результат функции. Инструкция return является необязательно
й – если онаотсутствует, работа функции завершается, когда поток
управления достигает
17
Выделить
Добавить заметку
Поделится цитатой
конца тела функции. С технической точки зрения, функция
без инструкцииreturn автоматически возвращает объект None,
однако это значение обычнопросто игнорируется.
2 . О п р е д е л е н и е
Ниже приводится фрагмент сеанса работы в интерактивной
оболочке,в котором определяется функция с именем times.
Эта функция возвращает результат обработки двух
аргументов:>>> def times(x, y): # Создать функцию и связать ее с
именем... return x * y # Тело, выполняемое при вызове
функции...Когда интерпретатор достигнет инструкции def
и выполнит ее, онсоздаст новый объект функции, в который упакует
программный код функциии свяжет объект с именем times
3 . В ы з о в
После выполнения инструкции def появляется возможность
вызватьфункцию в программе, добавив круглые скобки после
ее имени. В круглыхскобках можно указать один или более
аргументов, значения которых будутприсвоены именам, указанным
в заголовке
функции:>>> times(2, 4) #Аргументы в круглых скобках8Данное
выражение передает функции times два аргумента.
Передачааргументов осуществляется за счет выполнения
операции присваивания, таким образом, имени x в
заголовке функции присваивается значение 2, аимени y –
значение 4, после чего запускается тело функции. В данном
случаетело функции составляет единственная инструкция
return, которая отправляетобратно результат выражения. В данном
примере возвращаемый объект
былвыведен интерактивной оболочкой автоматически (к
ак и в большинстве языков, 2 * 4 в языке Python равно 8), однако
если бы результат потребовалсяпозднее, мы могли бы присвоить
его переменной. Например:>>> x = times(3.14, 4) # Сохранить объект
результата>>> x12.56Теперь посмотрим, что произойдет, если
функции передать объектысовершенно разных
типов:>>> times(‘Ni’, 4) #Функции не имеют типа‘NiNiNiNi’На этот
раз функция выполнила нечто совершенно иное. Вместо двухчисел
в аргументах x и y функции были переданы строка и целое
число.Оператор * может работать как с числами, так и с
последовательностями;п о с к о л ь к у в я з ы к е P y t h o n н е т
р е б у е т с я о б ъ я в л я т ь т и п ы п е р е м е н н ы х , аргументов
или возвращаемых значений, мы можем использовать
функциюtimes для умножения чисел и повторения послед
овательностей. Другими словами, смысл функции times и
тип возвращаемого значения определяетсяаргументами,
которые ей передаются.
Математические операции
В языке Python существует модуль math, методы которого вы
можетеиспользовать для работы с математическими
операциями.Например, методы math.ceil() и math.floor()
позволяют осуществлятьокругление значений с плавающей
точкой, указанных в качестве
параметровэ т и м м е т о д а м , д о б л и ж а й ш е г о ц е л о г о —
m a t h . c e i l ( ) о к р у г л я е т в в е р х , math.floor() — вниз.
Несмотря на то что данное значение имеет
нулевую дробную часть, оно на самом деле имеет тип float, а не
int.Метод math.pow(), принимающий два аргумента, использу
ется длявозведения одного аргумента в степень
другого.Метод math.sqrt(), требующий единственный аргумен
т, возвращаетквадратный корень из указанной в его скобках
величины. Оба этих методавозвращают числовое значение типа
float.Модули также могут осуществлять вычисление
тригонометрическихфункций, например math.sin(), math.cosin() и
math.tan().Для того чтобы работать с псевдослучайными
числами, вы можететакже импортировать в программу модуль
random языка Python.Метод random.random() генерирует одно
число с плавающей точкой отнуля до 1.0. Возможно, больший интерес
будет представлять метод random.sample(), который генерирует список
элементов, случайно
выбранныхиз последовательности. Этот метод требует дв
а аргумента для указания последовательности, из которой в
ыбирать, а также размера генерируемогосписка.В качестве п
ервого аргумента для метода random.sample() можнои с п
ользовать функцию range(), которая, как вы помнит
е , в о з в р а щ а е т последовательность
чисел.Таким образом, из этой последовательности метод rand
om.sample()будет создавать список с неповторяющимися
элементами.Д л я р а б о т ы с д а н н ы м м о д у л е м е г о
п р е д в а р и т е л ь н о н у ж н о импортировать.
#Возвращает ближайшее целое число большее, чем x.
>>> math.ceil(3.2)4
#Возвращает абсолютное значение числа.
>>> math.fabs(-7)7.0
#Вычисляет факториал x.
>>> math.factorial(5)120
#Возвращает ближайшее целое число меньшее, чем x.
>>> math.floor(3.2)
Заключение
Благодаря простоте и гибкости языка Python, его можно
рекомендоватьпользователям (математикам, физикам, экономистам и т.д.)
не являющимсяпрограммистами, но использующими
вычислительную технику ипрограммирование в своей
работе.Программы на Python разрабатываются в среднем в полтора-
два (апорой и в два-три) раза быстрее, нежели на компилируемых
языках (С, С++,Pascal). Поэтому, язык может представлять
не малый интерес и дляпрофессиональных
программистов, разрабатывающих приложения, некритичные к
скорости выполнения, а также программы, использующиесложные
структуры данных. В частности, Python хорошо
зарекомендовалсебя при разработке программ
Библиографический список
1.Г. Россум "Язык
программирования Python"2.Марк Лутц "Изучаем
P y t h o n . Ч е т в е р т о е и з д а н и е . " 3.Майк МакГрат
"Программирование для начинающих на Python"
4.
https://ru.wikipedia.org/wiki/Python
5.
https://khashtamov.com/ru/why-python/
6.
https://tproger.ru/translations/python-data-types/
7.
https://younglinux.info/python/for.php8.https://devprac tice.ru/
python-lesson- 4-arithmetic-operations/
Недостатки языка Python
1 . С к о р о с т ь
Одним из главных недостатков является его относитель
но низкая с к о р о с т ь в ы п о л н е н и я . P y t h o n я в л я е т с я я з ы
к о м с п о л н о й д и н а м и ч е с к о й типизацией, автоматическим
управлением памятью. Если на первый
взглядэ т о м о ж е т к а з а т ь с я п р е и м у щ е с т в о м , т о п
р и р а з р а б о т к е п р о г р а м м с повышенным требовани
ем к эффективности, Python может значительно проигрыва
ть по скорости своим статическим братьям (C/C++, Java, Go).
Чтокасается динамических собратьев (PHP, Ruby, JavaSc
ript), то здесь делао б с т о я т н а м н о г о л у ч ш е , P y t h o n в б
о л ь ш и н с т в е с л у ч а е в в ы п о л н я е т к о д быстрее за счет пр
едварительной компиляции в байт-код и
значительной части стандартной библиотеки, написанной на Си.
2.Динамическая типизация
Д л я н а ч и н а ю щ и х п р о г р а м м и с т о в , я з ы к п р о г р
а м м и р о в а н и я с динамической типизацией на первый
взгляд может казаться отдушиной, райским наслаждением,
особенно для тех, кто ранее имел дело
со "статикой".Н о е с т ь и о б р а т н а я с т о р о н а л у н ы . С р о с т
о м к о д о в о й б а з ы ( а э т о ч а с т о неизбежный процесс в
успешных проектах), следить за типом передаваемыхдруг другу
данных бывает очень сложно (а при отсутствии внятных доков
итестов практически невозможно), отсюда появляются п
роблемы, когда,например, у None пытаются вызвать мет
од или обратиться к атрибуту впроцессе выполнения кода.
Для решения такого рода проблем динамическиеязыки обрастают
всевозможными костылями, свистелками и перделками ввиде
type annotations, проектов mypy по статическому
анализу кода и
такд а л е е . Э т о ж е в с в о ю о ч е р е д ь н а к л а д ы в а е т
н е г а т и в н ы й о т т е н о к н а эстетическую сторону кода
Python ( 03
01
03
01
пайтон, питон) —
мультипарадигменный
язык программирования
высокого уровня с
динамической
типизацией,
автоматическим
управлением
памятью и удобными
высокоуровневыми
структурами данных,
такими как
словари (хеш-таблицы),
списки, кортежи.
Большая часть
реализаций, в том числе
и референсная CPython,
— интерпретаторы.
Поддерживает классы,
модули
(которые могут быть
объединены в пакеты),
обработку исключений,
а также
многопоточные
вычисления. Питон
обладает простым и
выразительным
синтаксисом. Язык
поддерживает
несколько парадигм
программирования:
структурное, объектно-
ориентированное,
функциональное и
аспектно-
ориентированное.
CPython существует для
большинства активно
используемых платформ.
Он
распространяется
свободно под очень
либеральной лицензией,
позволяющей
использовать его без
ограничений в любых
приложениях, включая
проприетарные
. Текущая версия 2.5.1
вышла 18 апреля 2007
года. Есть реализации
интерпретаторов для
JVM, MSIL (в том
числе с возможностью
компиляции),
LLVM и других
Введение
Python ( 03
01
03
01
пайтон, питон) —
мультипарадигменный
язык программирования
высокого уровня с
динамической
типизацией,
автоматическим
управлением
памятью и удобными
высокоуровневыми
структурами данных,
такими как
словари (хеш-таблицы),
списки, кортежи.
Большая часть
реализаций, в том числе
и референсная CPython,
— интерпретаторы.
Поддерживает классы,
модули
(которые могут быть
объединены в пакеты),
обработку исключений,
а также
многопоточные
вычисления. Питон
обладает простым и
выразительным
синтаксисом. Язык
поддерживает
несколько парадигм
программирования:
структурное, объектно-
ориентированное,
функциональное и
аспектно-
ориентированное.
CPython существует для
большинства активно
используемых платформ.
Он
распространяется
свободно под очень
либеральной лицензией,
позволяющей
использовать его без
ограничений в любых
приложениях, включая
проприетарные
. Текущая версия 2.5.1
вышла 18 апреля 2007
года. Есть реализации
интерпретаторов для
JVM, MSIL (в том
числе с возможностью
компиляции),
LLVM и других
Введение
Python ( 03
01
03
01
пайтон, питон) —
мультипарадигменный
язык программирования
высокого уровня с
динамической
типизацией,
автоматическим
управлением
памятью и удобными
высокоуровневыми
структурами данных,
такими как
словари (хеш-таблицы),
списки, кортежи.
Большая часть
реализаций, в том числе
и референсная CPython,
— интерпретаторы.
Поддерживает классы,
модули
(которые могут быть
объединены в пакеты),
обработку исключений,
а также
многопоточные
вычисления. Питон
обладает простым и
выразительным
синтаксисом. Язык
поддерживает
несколько парадигм
программирования:
структурное, объектно-
ориентированное,
функциональное и
аспектно-
ориентированное.
CPython существует для
большинства активно
используемых платформ.
Он
распространяется
свободно под очень
либеральной лицензией,
позволяющей
использовать его без
ограничений в любых
приложениях, включая
проприетарные
. Текущая версия 2.5.1
вышла 18 апреля 2007
года. Есть реализации
интерпретаторов для
JVM, MSIL (в том
числе с возможностью
компиляции),
LLVM и других
Введение
Python ( 03
01
03
01
пайтон, питон) —
мультипарадигменный
язык программирования
высокого уровня с
динамической
типизацией,
автоматическим
управлением
памятью и удобными
высокоуровневыми
структурами данных,
такими как
словари (хеш-таблицы),
списки, кортежи.
Большая часть
реализаций, в том числе
и референсная CPython,
— интерпретаторы.
Поддерживает классы,
модули
(которые могут быть
объединены в пакеты),
обработку исключений,
а также
многопоточные
вычисления. Питон
обладает простым и
выразительным
синтаксисом. Язык
поддерживает
несколько парадигм
программирования:
структурное, объектно-
ориентированное,
функциональное и
аспектно-
ориентированное.
CPython существует для
большинства активно
используемых платформ.
Он
распространяется
свободно под очень
либеральной лицензией,
позволяющей
использовать его без
ограничений в любых
приложениях, включая
проприетарные
. Текущая версия 2.5.1
вышла 18 апреля 2007
года. Есть реализации
интерпретаторов для
JVM, MSIL (в том
числе с возможностью
компиляции),
LLVM и других
Введение
Python ( 03
01
03
01
пайтон, питон) —
мультипарадигменный
язык программирования
высокого уровня с
динамической
типизацией,
автоматическим
управлением
памятью и удобными
высокоуровневыми
структурами данных,
такими как
словари (хеш-таблицы),
списки, кортежи.
Большая часть
реализаций, в том числе
и референсная CPython,
— интерпретаторы.
Поддерживает классы,
модули
(которые могут быть
объединены в пакеты),
обработку исключений,
а также
многопоточные
вычисления. Питон
обладает простым и
выразительным
синтаксисом. Язык
поддерживает
несколько парадигм
программирования:
структурное, объектно-
ориентированное,
функциональное и
аспектно-
ориентированное.
CPython существует для
большинства активно
используемых платформ.
Он
распространяется
свободно под очень
либеральной лицензией,
позволяющей
использовать его без
ограничений в любых
приложениях, включая
проприетарные
. Текущая версия 2.5.1
вышла 18 апреля 2007
года. Есть реализации
интерпретаторов для
JVM, MSIL (в том
числе с возможност