Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
base:syntax [2021/01/18 15:53] root |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | <div slide> | ||
- | ====== Основы синтаксиса ====== | ||
- | Типы данных в Python, которые мы будем рассматривать в начале курса, можно организовать так: | ||
- | |||
- | * Типы | ||
- | * Базовые неизменяемые | ||
- | * Числовые | ||
- | * Целые ('' | ||
- | * Действительные ('' | ||
- | * Комплексные ('' | ||
- | * Логический тип ('' | ||
- | * Перечислимые | ||
- | * Строки ('' | ||
- | * Байтовые строки ('' | ||
- | * '' | ||
- | * Базовые изменяемые | ||
- | * Перечислимые | ||
- | * Списки ('' | ||
- | * Cловари ('' | ||
- | * Наборы ('' | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | ===== Некоторые базовые типы данных ===== | ||
- | |||
- | ^ Тип ^ Описание ^ Примечание ^ Пример ^ | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | Все эти типы являются неизменяемыми (immutable). С точки зрения памяти новая переменная создается при каждом присваивании. | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ===== Присвоение значений и динамическая типизация ===== | ||
- | |||
- | Python — язык со строгой динамической типизацией. | ||
- | |||
- | Переменные объявляются в момент присвоения значения, | ||
- | |||
- | <sxh python> | ||
- | # Комментарий: | ||
- | a = 5 # int | ||
- | b = 5.5 # float | ||
- | c = " | ||
- | d = b" | ||
- | e = True # bool | ||
- | f = None # NoneType | ||
- | </ | ||
- | |||
- | При повторном присваивании типы не проверяются, | ||
- | |||
- | <sxh python> | ||
- | d = 42 # Успешно: | ||
- | </ | ||
- | |||
- | При выполнении прочих операций типы проверяются | ||
- | |||
- | <sxh python> | ||
- | d = a + c # Ошибка: | ||
- | </ | ||
- | |||
- | Можно смешивать переменные разных **числовых** типов в одном выражении | ||
- | <sxh python> | ||
- | d = a + b # Успешно: | ||
- | </ | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ===== Строки ====== | ||
- | |||
- | <sxh python> | ||
- | s = " | ||
- | s = ' | ||
- | s = ''' | ||
- | я длинная строка''' | ||
- | s = ' | ||
- | s = r' | ||
- | s = b'Byte String - Only Ascii and \x24' | ||
- | </ | ||
- | |||
- | ===== Распространенные непечатные символы ====== | ||
- | |||
- | ^ Символ ^ Значение ^ | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | Проблемы с экранированием возникают при работе с регулярными выражениями и именами папок в Windows: | ||
- | |||
- | <sxh python> | ||
- | pth = ' | ||
- | pth = ' | ||
- | pth = r' | ||
- | pth = ' | ||
- | pth = ' | ||
- | </ | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ===== Функций, | ||
- | |||
- | ==== Функции ==== | ||
- | |||
- | Функции вызываются стандартно: | ||
- | |||
- | <sxh python> | ||
- | print(" | ||
- | </ | ||
- | |||
- | Могут принимать: | ||
- | |||
- | <sxh python> | ||
- | # Аргументы по порядку | ||
- | foo(1, 2, " | ||
- | </ | ||
- | |||
- | <sxh python> | ||
- | # Аргументы по имени | ||
- | bar(arg = 2, namedarg = " | ||
- | </ | ||
- | |||
- | Способы передачи аргументов можно смешивать, | ||
- | |||
- | <sxh python> | ||
- | bar(1, 2, arg = 2, namedarg = " | ||
- | bar(arg = 2, namedarg = " | ||
- | </ | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | Функция может возвращать одно или несколько значений. Если функция не вернула ни одного значения, | ||
- | |||
- | <sxh python> | ||
- | loo(24) | ||
- | </ | ||
- | |||
- | <sxh python> | ||
- | x = foo(24) | ||
- | </ | ||
- | |||
- | <sxh python> | ||
- | x,y,t = bar(42) | ||
- | </ | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | Функция в Python — переменная специального типа '' | ||
- | |||
- | <sxh python> | ||
- | def foo(x, y): | ||
- | return x + y | ||
- | |||
- | bar = foo | ||
- | |||
- | bar(2, 3) # 5 | ||
- | |||
- | def comcall(x, y, fun): | ||
- | return fun(x, y) | ||
- | |||
- | comcall(2, 3, foo) # 5 | ||
- | |||
- | </ | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ==== Некоторые важные встроенные функции ==== | ||
- | |||
- | ^ Функция ^ Назначение ^ | ||
- | ^ '' | ||
- | ^ '' | ||
- | ^ '' | ||
- | ^ '' | ||
- | ^ '' | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ==== Операторы ==== | ||
- | |||
- | Об операторах надо думать, | ||
- | |||
- | <sxh python> | ||
- | y = 1+2*3 # тоже, что и y = __add__(1, | ||
- | </ | ||
- | |||
- | Операторы и вызовы функций можно свободно смешивать: | ||
- | |||
- | <sxh python> | ||
- | y = 2*len(x)+1 | ||
- | </ | ||
- | |||
- | Многие операторы имеют сокращенную форму записи: | ||
- | |||
- | <sxh python> | ||
- | y = y + 1 | ||
- | y += 1 | ||
- | </ | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | === Арифметические операторы === | ||
- | |||
- | ^ Оператор ^ Тип данных ^ Действие ^ Пример ^ | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | |||
- | Python позволяет смешивать переменные разных **числовых** типов в одном выражении, | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | === Некоторые логические операторы === | ||
- | |||
- | Логические операторы возвращают значения типа '' | ||
- | |||
- | ^ Оператор ^ Действие ^ Пример ^ | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | === Операторы над составными типами === | ||
- | |||
- | ^ Оператор ^ Действие ^ Пример ^ | ||
- | ^ < | ||
- | ^ < | ||
- | ^ < | ||
- | |||
- | Подробнее: | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ==== Модули ==== | ||
- | |||
- | * Почти все функции как стандартной библиотеки, | ||
- | * Для подключения модулей используется ключевое слово '' | ||
- | * Для доступа к методам используется оператор '' | ||
- | |||
- | <sxh python> | ||
- | import math | ||
- | math.cos(3) # Успешно: | ||
- | cos(3) # Ошибка: | ||
- | </ | ||
- | |||
- | <sxh python> | ||
- | from math import cos | ||
- | cos(3) # Успешно: | ||
- | </ | ||
- | |||
- | <sxh python> | ||
- | import math as m | ||
- | m.cos(3) # Успешно: | ||
- | </ | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ==== Собственные модули ==== | ||
- | |||
- | Аналогично происходит импорт из одного файла в другой: | ||
- | |||
- | <sxh python> | ||
- | import myfuncs | ||
- | myfuncs.foo() | ||
- | </ | ||
- | |||
- | <sxh python> | ||
- | from myfuncs import foo | ||
- | foo() | ||
- | </ | ||
- | |||
- | Специальной командой '' | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ===== Приведение типов ===== | ||
- | |||
- | Типы автоматически не приводятся. Но типы '' | ||
- | |||
- | ^ ^ Исходный тип — переменная '' | ||
- | ^ Целевой тип ^ '' | ||
- | ^ '' | ||
- | ^ '' | ||
- | ^ '' | ||
- | ^ '' | ||
- | ^ '' | ||
- | |||
- | Используются модули '' | ||
- | |||
- | </ | ||
- | <div slide> | ||
- | |||
- | ===== Функции print, input ===== | ||
- | |||
- | Важные глобальные функции для работы в консоли: | ||
- | |||
- | '' | ||
- | |||
- | <sxh python> | ||
- | a = 25 | ||
- | print(" | ||
- | </ | ||
- | < | ||
- | #тест: 25 - 3.158 | ||
- | # | ||
- | </ | ||
- | |||
- | Дополнительные аргументы: | ||
- | |||
- | <sxh python> | ||
- | a = 25 | ||
- | print(" | ||
- | </ | ||
- | < | ||
- | # | ||
- | # | ||
- | # | ||
- | </ | ||
- | |||
- | '' | ||
- | |||
- | <sxh python> | ||
- | x = input(' | ||
- | </ | ||
- | |||
- | Эта функция всегда возвращает '' | ||
- | |||
- | <sxh python> | ||
- | x = float(input(' | ||
- | </ | ||
- | |||
- | </ |