Лекция 1_ 01.09.15
.pdf
Beautiful is better then ugly –
Красивое лучше уродливого
Напишите функцию, которая получает набор чисел и возвращает только четные, деленные на 2.
Ugly:
#-----------------------------------------------------------------------
halve_evens_only = lambda nums: map(lambda i: i/2, filter(lambda i: not i%2, nums))
#-----------------------------------------------------------------------
Beautiful:
def halve_evens_only(nums):
return [i/2 for i in nums if not i % 2]
#-----------------------------------------------------------------------
print 'Beautiful is better than ugly.'
Explicit is better than implicit –
Явное лучше неявного
Загрузить объекты (модели) “кот”, “собака” и “мышь”.
Implicit: def load():
from menagerie.cat.models import * from menagerie.dog.models import * from menagerie.mouse.models import *
#-----------------------------------------------------------------------
Explicit: def load():
from menagerie.models import cat as cat_models from menagerie.models import dog as dog_models
from menagerie.models import mouse as mouse_models
#-----------------------------------------------------------------------
print 'Explicit is better than implicit.'
Архитектура программы на языке Python
Главныйфайл (или сценарий) определяет, как будет двигаться основнойпоток выполнения программы, – это тот файл, которыйнеобходимо запустить, чтобы начать работу приложения. Файлы модулей– это библиотеки инструментальных средств, где содержатся компоненты, используемые главным файлом (и другими модулями).
ПРИМЕР. b. py определяет функцию spam: def spam(text): print(text, ‘spam’) a.py использует функцию spam: import b
b.spam(‘gumby’) результат: gumby spam
Архитектура программы на языке Python
•В сценариях на языке Python используется нотация object.attribute – большинство объектов обладают атрибутами (имена функций, свойства объекта), доступ к которым можно получить с помощью оператора «.». Любой̆модульможет импортировать функциональные возможности из любого другого ̆модуля.
•Помимо самойкрупнойединицы в организационнойструктуре программы модули также играют роль самойкрупнойединицы программного кода, доступного для
повторного использования.
•Прежде всего, интерпретатор должен определить местонахождение файла модуля, указанного в инструкции import. Он использует стандартныйпуть поиска модулейsys.path (список строк с именами каталогов):
•Домашнийкаталог программы.
•Содержимое переменнойокружения PYTHONPATH (если таковая определена).
•Каталоги стандартнойбиблиотеки.
•Содержимое любых файлов с расширением .pht (если таковые имеются).
•
•
•
•
и
•
•
•Страничка курса - на
•Для приемки задач будет использоваться ресурс
•Рекомендуемая л-ра: Марк Лутц “Изучаем Python”, 4-е издание
Правила оценивания
•Одна контрольная работа (КР), которая будет проходить в конце 1-го модуля в виде решения задач во время семинарского занятия.
•Домашние задания. На каждом семинаре (за исключением 1-го вводного и КР) будут даны задачи (ДЗ), которые необходимо сдать ДО следующего занятия.
•Каждой задаче будет присвоен максимальный балл, который возможно набрать за ее решение (B). За каждую задачу, сданную позже (следующее занятие – это уже позже) возможно получить не более B/2 баллов.
•Каждому ДЗ будет присвоена сумма баллов (S), которую необходимо набрать.
•Итоговая оценка за все домашние задания (в конце 2-го модуля) формируется следующим образом: суммируются набранные баллы за все задачи всего курса
(sum Вi). Считается процент от максимально возможной суммы баллов (N= sum Si). Округление по стандартным правилам. 0.5 трактуется в пользу студента. Например, N=60. Студент набрал 40, то есть 0.67*N. Оценка 7.
•Экзамен устный. Будет состоять из одного теоретического вопроса и двух задач.
•Общая формула оценки за курс – 0.6*Средняя(КР, ДЗ)+0.4*экзамен. Округление аналогично.
