- •Стиль программирования на языке Python.
- •Программа на Python. Ввод-вывод данных. Основные алгоритмические конструкции. Последовательные действия.
- •Идентификаторы, комментарии, логические и физические строки.
- •Операторы в Python: арифметические, логические, сравнения присваивания, побитовые
- •Встроенные типы данных. Целые и вещественные типы данных.
- •Типы: комплексные числа, логический
- •Встроенные функции для работы с разными типами данных.
- •Возможности модуля math
- •Оператор условия. Варианты написания оператора.
- •Функции range, enumerate.
- •Операторы break, continue.
- •Строки, работа со строками, срезы, методы и функции для работы со строками
- •Списки. Создание списков, методы и функции для работы со списками. Методы join и split.
- •Кортежи. Создание кортежей, обращение к элементам кортежей.
- •Множества. Создание, добавление элементов. Методы и операции для работы с множествами.
- •Словари. Создание словарей, добавление элементов, обращение к элементам. Методы для работы со словарями.
- •Методы словарей
- •Понятие функционального программирования. Принцип построения функциональных программ.
- •Именованные функции: определение и вызов.
- •Аргументы функций: обязательные, ключевые, со значением по умолчанию, произвольной длины
- •Глобальные и локальные переменные. Нелокальная область видимости.
- •Анонимные функции (lambda-выражение)
- •Понятие модуля. Модули в Python. Подключение модулей. Создание своего модуля и пакета модулей.
- •Использование псевдонимов
- •Обзор стандартной библиотеки. Список всех подключенных модулей. Помощь по модулю
- •Модуль math, Модуль random
- •Модуль datatime, Модуль itertools
- •Модуль itertools
- •Модуль itertools. Бесконечные последовательности
- •Модуль itertools. Генерация комбинаций значений!
- •Создание своего модуля и пакета модулей.
- •Работа с файлами в языке Python. Методы объектов-файлов. Модуль pickle.
- •Оператор try ... Exept
- •Пример оператора try...Except.
- •Основные понятия объектно-ориентированного программирования. Определение класса. Конструкторы и деструкторы.
- •Отношения между классами. Наследование.
- •Метаклассы
- •Модуль Numpy. Типы данных, создание массивов, преобразование, нахождение статистик в массивах, операции для работы с массивами
- •Модуль Matplotlib. Основные функции построения графиков разных видов. Изменения параметров графиков и области построения графиков.
- •Обзор графических библиотек. Библиотека Tkinter.
- •Основные виджеты
- •Менеджеры расположения.
- •Изображения в Tkinter.
Анонимные функции (lambda-выражение)
Анонимные функции могут содержать лишь одно выражение, но и выполняются они быстрее. Анонимные функции создаются с помощью инструкции lambda. Кроме этого, их не обязательно присваивать переменной.
func = lambda x, y: x+y
print(func(4, 10))
print(func('Ivan ', 'Ivanov '))
Вывод: 14, Ivan Ivanov
Анонимные функции чаще всего используют внутри других стандартных функций, например, в sorted, filter, map, reduce и других.
Например, имеется последовательность чисел, вывести только четные элементы
s = [5, 4, 8, 6, 2, 1, 7]
s = filter(lambda x: x % 2 == 0, s)
print(*s)
Вывод: 4 8 6 2
Имеется словарь, где ключами являются слова, а значениями - частота их вхождения в текст. Нужно отсортировать элементы словаря по убыванию частоты вхождения, а элементы с одинаковой частотой вхождения в лексикографическом порядке слов.
In [18]:
d = {'bol': 3, 'map':5, 'ring': 2, 'apple':3, 'number':3, 'doll': 5, 'look':3}
d = sorted(d.items(), key=lambda x: (-x[1], x[0]))
print(d)
[('doll', 5), ('map', 5), ('apple', 3), ('bol', 3), ('look', 3), ('number', 3), ('ring', 2)]
Анонимная функция может иметь 0 или более параметров, но в теле функции есть только одно выражение (expression). Значение выражения является возвращенным значением функции. Но нельзя использовать оператор return сразу перед выражением.
Список параметров разделен запятой, и не должен быть в круглых скобках ( ).
В теле анонимной функции вы не можете иметь доступ к переменным снаружи, вы можете только иметь доступ к параметрам.
Анонимная функция не может вызвать напрямую функцию print, так как lambda требует выражение.
Понятие модуля. Модули в Python. Подключение модулей. Создание своего модуля и пакета модулей.
Под модулем в Python понимается файл с расширением .py. Модули предназначены для того, чтобы в них хранить часто используемые функции, классы, константы и т.п. Можно условно разделить модули и программы: программы предназначены для непосредственного запуска, а модули для импортирования их в другие программы.
Подключение модулей
Подключить модуль можно с помощью инструкции import.После ключевого слова import указывается название модуля.
import time
Использование псевдонимов
Если название модуля слишком длинное, или оно вам не нравится по каким-то другим причинам, то для него можно создать псевдоним, с помощью ключевого слова as.
import math as m
Подключить определенные атрибуты модуля можно с помощью инструкции from.
from math import cos
При этом импортируется только конкретный объект (в нашем примере: функция cos), остальные функции недоступны.Для импортирования нескольких функций из модуля, можно перечислить их имена через запятую.
Если необходимо импортировать все фукнции, классы и т.п. из модуля, то воспользуйтесь следующей формой оператора from имя_модуля import *
Создание своего модуля
Чтобы создать свой модуль в Python достаточно сохранить ваш скрипт с расширением .py Теперь он доступен в любом другом файле. Например, создадим два файла: module_1.py и module_2.py и сохраним их в одной директории. В первом запишем:
|
def hello(): print ("Hello from module_1") |
А во втором вызовем эту функцию:
|
from module_1 import hello hello() |
Выполнив код второго файла получим:
Hello from module_1
Пакеты модулей
Отдельные файлы-модули с кодом на Python могут объединяться в пакеты модулей. Пакет это директория (папка), содержащая несколько отдельных файлов-скриптов.
Например, имеем следующую структуру:
|_ my_file.py
|_ my_package
|_ __init__.py
|_ inside_file.py
В файле inside_file.py определена некая функция foo. Тогда чтобы получить доступ к функции foo, в файле my_file следует выполнить следующий код:
from my_package.inside_file import foo