Технология программирования на языке Рython и разработка программ для машинного обучения (Лекция iv)

Содержание

Слайд 2

Списки
Кортежи
Словари и ключи
Функции
Локальные и глобальные переменные
Рекурсия
Двумерные массивы
Вложенные списки и массивы

План занятия

Списки Кортежи Словари и ключи Функции Локальные и глобальные переменные Рекурсия Двумерные

Слайд 3

Списки

Список состоит из элементов, разделенных запятыми, находящихся между квадратными скобками ( [

Списки Список состоит из элементов, разделенных запятыми, находящихся между квадратными скобками (
] ). В определенной мере, списки подобны массивам в C. Единственной разницей является то, что элементы одного списка могут иметь разные типы данных.
Получить доступ к элементам, сохраненным в списке можно, точно так же, как и в строках, при помощи оператора нарезки ( [ ] и [:] ) и индексов, начиная с нуля и до конца. Знак плюс ( + ) объединяет два списка, а звездочка ( * ) - оператор повторения для списка.

Слайд 4

Пример

Результат

Пример Результат

Слайд 5

Кортеж состоит из ряда значений, разделенных запятыми, заключенными в круглые скобки (

Кортеж состоит из ряда значений, разделенных запятыми, заключенными в круглые скобки (
( ) ). Основным различием между списками и кортежами является то, что элементы кортежей не могут быть изменены. То есть, кортежи можно рассматривать как списки доступные только для чтения.
Если у вас нет необходимости изменять элементы списка, то для экономии места в памяти лучше использовать тип данных кортеж.

Кортежи

Слайд 6

Пример

Результат

Пример Результат

Слайд 7

Словари и ключи

Словари в Python это неотсортированная коллекция элементов, доступ к которым осуществляется

Словари и ключи Словари в Python это неотсортированная коллекция элементов, доступ к
по ключу. То есть, каждому ключу словаря соответствует определенное значение. Ключом может быть любой неизменяемый тип данных (число, строка, кортеж), значением - любой тип данных.
Пары ключ, значение словаря заключаются в фигурные скобки ( { } ).

Слайд 8

Есть несколько способов создания словарей:

Есть несколько способов создания словарей:

Слайд 9

Сеты

Сет в Python это еще один изменяемый, коллекционный тип данных, отличительной чертой которого

Сеты Сет в Python это еще один изменяемый, коллекционный тип данных, отличительной
является то, что он хранит только уникальные значения.
Создать сеты можно следующими способами:

Слайд 10

Для добавление элемента в сет используется метод add, для удаления - pop

Для добавление элемента в сет используется метод add, для удаления - pop
или remove. Добавление в сет уже существующего элемента не повлияет на сет. Сеты обладают множеством методов для работы с уникальными элементами, например difference - возвращает элементы сета отсутствующие в другом сете, intersection - наоборот, возвращает элементы сета присутствующие в другом сете.

Слайд 11

Преобразование типов данных

Преобразование типов данных

Слайд 12

Функции в Python

Функция - это блок организованного, многократно используемого кода, который используется

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

Слайд 13

Создание функции

Существуют некоторые правила для создания функций в Python.
Блок функции начинается с ключевого

Создание функции Существуют некоторые правила для создания функций в Python. Блок функции
слова def, после которого следуют название функции и круглые скобки ( () ).
Любые аргументы, которые принимает функция должны находиться внутри этих скобок.
После скобок идет двоеточие ( : ) и с новой строки с отступом начинается тело функции.

Слайд 14

Вызов функции

После создания функции, ее можно исполнять вызывая из другой функции или

Вызов функции После создания функции, ее можно исполнять вызывая из другой функции
напрямую из оболочки Python. Для вызова функции следует ввести ее имя и добавить скобки.

Слайд 15

Аргументы функции

Вызывая функцию, мы можем передавать ей следующие типы аргументов:
Обязательные аргументы (Required

Аргументы функции Вызывая функцию, мы можем передавать ей следующие типы аргументов: Обязательные
arguments)
Аргументы-ключевые слова (Keyword argument)
Аргументы по умолчанию (Default argument)
Аргументы произвольной длины (Variable-length arguments)

Слайд 16

Если при создании функции мы указали количество передаваемых ей аргументов и их

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

Обязательные аргументы

Слайд 17

Аргументы – ключевые слова

Аргументы - ключевые слова используются при вызове функции. Благодаря

Аргументы – ключевые слова Аргументы - ключевые слова используются при вызове функции.
ключевым аргументам, вы можете задавать произвольный (то есть не такой каким он описан при создании функции) порядок аргументов.

Слайд 18

Аргументы, заданные по умолчанию

Аргумент по умолчанию, это аргумент, значение для которого задано

Аргументы, заданные по умолчанию Аргумент по умолчанию, это аргумент, значение для которого
изначально, при создании функции.

Слайд 19

Аргументы произвольной длины

Иногда возникает ситуация, когда вы заранее не знаете, какое количество

Аргументы произвольной длины Иногда возникает ситуация, когда вы заранее не знаете, какое
аргументов будет необходимо принять функции. В этом случае следует использовать аргументы произвольной длины. Они задаются произвольным именем переменной, перед которой ставится звездочка (*).

Слайд 20

Ключевое слово return

Выражение return прекращает выполнение функции и возвращает указанное после выражения

Ключевое слово return Выражение return прекращает выполнение функции и возвращает указанное после
значение. Выражение return без аргументов это то же самое, что и выражение return None. Соответственно, теперь становится возможным, например, присваивать результат выполнения функции какой либо переменной.

def bigger(a,b):
    if a > b:
        return a # Если a больше чем b, то возвращаем a и прекращаем выполнение функции
    return b # Незачем использовать else. Если мы дошли до этой строки, то b, точно не меньше чем a
# присваиваем результат функции bigger переменной num
num = bigger(23,42)

Слайд 21

Область видимости

Некоторые переменные скрипта могут быть недоступны некоторым областям программы. Все зависит

Область видимости Некоторые переменные скрипта могут быть недоступны некоторым областям программы. Все
от того, где вы объявили эти переменные.
В Python две базовых области видимости переменных:
Глобальные переменные
Локальные переменные

Слайд 22

Переменные объявленные внутри тела функции имеют локальную область видимости, те что объявлены

Переменные объявленные внутри тела функции имеют локальную область видимости, те что объявлены
вне какой-либо функции имеют глобальную область видимости.
Это означает, что доступ к локальным переменным имеют только те функции, в которых они были объявлены, в то время как доступ к глобальным переменным можно получить по всей программе в любой функции.

Локальные переменные

Слайд 23

Важно помнить, что для того чтобы получить доступ к глобальной переменной, достаточно

Важно помнить, что для того чтобы получить доступ к глобальной переменной, достаточно
лишь указать ее имя. Однако, если перед нами стоит задача изменить глобальную переменную внутри функции - необходимо использовать ключевое слово global.

Глобальные переменные

Слайд 24

Рекурсия

Рекурсией в программировании называется ситуация, в которой функция вызывает саму себя. Классическим

Рекурсия Рекурсией в программировании называется ситуация, в которой функция вызывает саму себя.
примером рекурсии может послужить функция вычисления факториала числа.
Напомним, что факториалом числа, например, 5 является произведение всех натуральных (целых) чисел от 1 до 5. То есть, 1 * 2 * 3 * 4 * 5
Рекурсивная функция вычисления факториала на языке Python будет выглядеть следующим образом:

Слайд 25

Массивы данных

Модуль array определяет массивы в python. Массивы очень похожи на списки,

Массивы данных Модуль array определяет массивы в python. Массивы очень похожи на
но с ограничением на тип данных и размер каждого элемента.

Класс array.array(TypeCode, [инициализатор]) - новый массив, элементы которого ограничены TypeCode, и инициализатор, который должен быть списком, объектом, который поддерживает интерфейс буфера, или итерируемый объект.
array.typecodes - строка, содержащая все возможные типы в массиве.
Массивы изменяемы. Массивы поддерживают все списковые методы (индексация, срезы, умножения, итерации), и другие методы.

Слайд 26

Методы массивов в Python

array.typecode - TypeCode символ, использованный при создании массива.
array.itemsize - размер в

Методы массивов в Python array.typecode - TypeCode символ, использованный при создании массива.
байтах одного элемента в массиве.
array.append(х) - добавление элемента в конец массива.
array.buffer_info() - кортеж (ячейка памяти, длина). Полезно для низкоуровневых операций.
array.byteswap() - изменить порядок следования байтов в каждом элементе массива. Полезно при чтении данных из файла, написанного на машине с другим порядком байтов.
array.count(х) - возвращает количество вхождений х в массив.
array.extend(iter) - добавление элементов из объекта в массив.
array.frombytes(b) - делает массив array из массива байт. Количество байт должно быть кратно размеру одного элемента в массиве.

Слайд 27

array.fromfile(F, N) - читает N элементов из файла и добавляет их в конец массива.

array.fromfile(F, N) - читает N элементов из файла и добавляет их в
Файл должен быть открыт на бинарное чтение. Если доступно меньше N элементов, генерируется исключение EOFError , но элементы, которые были доступны, добавляются в массив.
array.fromlist(список) - добавление элементов из списка.
array.index(х) - номер первого вхождения x в массив.
array.insert(n, х) - включить новый пункт со значением х в массиве перед номером n. Отрицательные значения рассматриваются относительно конца массива.
array.pop(i) - удаляет i-ый элемент из массива и возвращает его. По умолчанию удаляется последний элемент.
array.remove(х) - удалить первое вхождение х из массива.
array.reverse() - обратный порядок элементов в массиве.
array.tobytes() - преобразование к байтам.
array.tofile(f) - запись массива в открытый файл.
array.tolist() - преобразование массива в список.

Слайд 28

Двумерные массивы
Вложенные списки и массивы
Объектно-ориентированное и функциональное программирование на Python

План следующего занятия

Двумерные массивы Вложенные списки и массивы Объектно-ориентированное и функциональное программирование на Python План следующего занятия