Python | Модули
Последнее обновление: 25.01.2022
Модуль в языке Python представляет отдельный файл с кодом, который можно повторно использовать в других программах.
Для создания модуля необходимо создать собственно файл с расширением *.py, который будет представлять модуль. Название файла будет представлять название модуля. Затем в этом файле надо определить одну или несколько функций.
Допустим, основной файл программы называется main.py. И мы хотим подключить к нему внешние модули.
Для этого сначала определим новый модуль: создадим в той же папке, где находится main.py, новый файл, который назовем message.py. Если используется PyCharm или другая IDE, то оба файла просто помещаются в один проект.
Соответственно модуль будет называться message. Определим в нем следующий код:
hello = "Hello all" def print_message(text): print(f"Message: {text}")
Здесь определена переменная hello и функция print_message, которая в качестве параметра получает некоторый текст и выводит его на консоль.
В основном файле программы — main.py используем данный модуль:
import message # подключаем модуль message # выводим значение переменной hello print(message.hello) # Hello all # обращаемся к функии print_message message.print_message("Hello work") # Message: Hello work
Для использования модуля его надо импортировать с помощью оператора import, после которого указывается имя модуля: import message
.
Чтобы обращаться к функциональности модуля, нам нужно получить его пространство имен. По умолчанию оно будет совпадать с именем модуля, то есть в нашем случае также будет называться message.
Получив пространство имен модуля, мы сможем обратиться к его функциям по схеме
пространство_имен.функция
Например, обращение к функции print_message()
из модуля message:
message.print_message("Hello work")
И после этого мы можем запустить главный скрипт main. py, и он задействует модуль message.py. В частности, консольный вывод будет следующим:
Hello all Message: Hello work
Подключение функциональности модуля в глобальное пространство имен
Другой вариант настройки предполагает импорт функциональности модуля в глобальное пространство имен текущего модуля с помощью ключевого слова from:
from message import print_message # обращаемся к функии print_message из модуля message print_message("Hello work") # Message: Hello work # переменная hello из модуля message не доступна, так как она не импортирована # print(message.hello) # print(hello)
В данном случае мы импортируем из модуля message в глобальное пространство имен функцию print_message()
Все остальные функции, переменные из модуля недоступны (как например, в примере выше переменная hello). Если мы хотим их также использовать, то их можно подключить по отдельности:
from message import print_message from message import hello # обращаемся к функции print_message из модуля message print_message("Hello work") # Message: Hello work # обращаемся к переменной hello из модуля message print(hello) # Hello all
Если необходимо импортировать в глобальное пространство имен весь функционал, то вместо названий отдельных функций и переменных можно использовать символ зводочки *:
from message import * # обращаемся к функции print_message из модуля message print_message("Hello work") # Message: Hello work # обращаемся к переменной hello из модуля message print(hello) # Hello all
Но стоит отметить, что импорт в глобальное пространство имен чреват коллизиями имен функций. Например, если у нас том же файле определена функция с тем же именем до ее вызова, то будет вызываться функция, которая определена последней:
from message import * print_message("Hello work") # Message: Hello work - применяется функция из модуля message def print_message(some_text): print(f"Text: {some_text}") print_message("Hello work") # Text: Hello work - применяется функция из текущего файла
Таким образом, одноименная функция текущего файла скрывает функцию из подключенного модуля.
Установка псевдонимов
При импорте модуля и его функциональности мы можем установить для них псевдонимы. Для этого применяется ключевое слово as, после которого указывается псевдоним. Например, установим псевдоним для модуля:
import message as mes # модуль message проецируется на псевдоним mes # выводим значение переменной hello print(mes.hello) # Hello all # обращаемся к функии print_message mes.print_message("Hello work") # Message: Hello work
В данном случае пространство имен будет называться mes, и через этот псевдоним можно обращаться к функциональности модуля.
Подобным образом можно установить псевдонимы для отдельной функциональности модуля:
from message import print_message as display from message import hello as welcome print(welcome) # Hello all - переменная hello из модуля message display("Hello work") # Message: Hello work - функция print_message из модуля message
Здесь для функции print_message из модуля message устанавливается псевдоним display, а для переменной hello — псевдоним welcome. И через эти псевдонимы мы сможем к ним обращаться.
Псевдонимы могут быть полезны, когда нас не устраивают имена функций и переменных, например, они слишком длинные, и мы хотим их сократить, либо мы хотим дать им более описательные, с нашей точки зрения, имена. Либо если в текущем файле уже есть функциональность с теми же именами, и с помощью установки псевдонимов мы можем избежать конфликта имен. Например:
from message import print_message as display def print_message(some_text): print(f"Text: {some_text}") # функция print_message из модуля message display("Hello work") # Message: Hello work # функция print_message из текущего файла print_message("Hello work") # Text: Hello work
Имя модуля
В примере выше модуль main.py, который является главным, использует модуль message.py. При запуске модуля main.py программа выполнит всю необходимую работу. Однако, если мы запустим отдельно модуль message. py сам по себе, то ничего на консоли не увидим. Ведь модуль message просто определяет функцию и переменную и не выполняет никаких других действий. Но мы можем сделать так, чтобы модуль message.py мог использоваться как сам по себе, так и подключаться в другие модули.
При выполнении модуля среда определяет его имя и присваивает его глобальной переменной __name__ (с обеих сторон по два подчеркивания). Если модуль является запускаемым, то его имя равно __main__ (также по два подчеркивания с каждой стороны). Если модуль используется в другом модуле, то в момент выполнения его имя аналогично названию файла без расширения py. И мы можем это использовать. Так, изменим содержимое файла message.py:
hello = "Hello all" def print_message(text): print(f"Message: {text}") def main(): print_message(hello) if __name__ == "__main__": main()
В данном случае в модуль message. py для тестирования функциональности модуля добавлена функция main
.
И мы можем сразу запустить файл message.py отдельно от всех и протестировать код.
Следует обратить внимание на вызов функции main:
if __name__ == "__main__": main()
Переменная __name__ указывает на имя модуля. Для главного модуля, который непосредственно запускается, эта переменная всегда будет иметь значение __main__ вне зависимости от имени файла.
Поэтому, если мы будем запускать скрипт message.py отдельно, сам по себе, то Python присвоит переменной __name__ значение __main__
, далее в выражении
if вызовет функцию main из этого же файла.
Однако если мы будем запускать другой скрипт, а этот — message.py — будем подключать в качестве вспомогательного, для message.py переменная
__name__ будет иметь значение message
. И соответственно метод main в файле message.py не будет работать.
Данный подход с проверкой имени модуля является более рекомендуемым подходом, чем просто вызов метода main.
В файле main.py также можно сделать проверку на то, является ли модуль главным (хотя в прицнипе это необязательно):
import message def main(): message.print_message("Hello work") # Message: Hello work if __name__ == "__main__": main()
Python предоставляет ряд встроенных модулей, которые мы можем использовать в своих программах. В следующих статьях рассмотрим основные из них.
НазадСодержаниеВперед
Как делать фигурки их треугольных модулей, модульное оригами своими руками
Skip to content
Как делать фигурки их треугольных модулей, модульное оригами своими руками
Модульное оригами
✿ Василиса ✿ 0 Комментариев снежинки
Близится Новый год, и мы начали уже потихоньку готовиться украшать квартиру. Какой новый год без снежинок из бумаги? Поскольку нынче
Читать далее
Модульное оригами
✿ Василиса ✿ 0 Комментариев кусудама
Модуль кусудамы применяется для таких работ, как супершар кусудама или, например, в качестве сердцевины цветов оригами. Такой модуль мы использовали
Читать далее
Модульное оригами
✿ Василиса ✿ 0 Комментариев васильки, цветы
Из цветных модулей можно сделать любые цветы, поставить в вазу. Васильки, выполненные в технике модульное оригами, не завянут, и будут
Читать далее
Модульное оригами
✿ Василиса ✿ 2 комментария
Модульное оригами — очень интересный вид искусства и творчества, зародившийся много сотен лет в Японии. В основу всех работ, выполненных
Читать далее
Модульное оригами
✿ Василиса ✿ 0 Комментариев букет, бумага, ромашки, цветы
В предыдущем мастер-классе мы разобрали, как сделать вазу в технике модульное оригами. Давайте сделаем для этой вазы букет ромашек! Для
Читать далее
Модульное оригами
✿ Василиса ✿ 0 Комментариев бумага, ваза
Множество разных фигурок и композиций можно выполнить, используя технику модульного оригами. Очень красивую вазу можно сделать из цветной бумаги.
Читать далее
Страница 1 из 11
Мы используем куки для наилучшего представления нашего сайта. Если Вы продолжите использовать сайт, мы будем считать что Вас это устраивает.Ok
Adblockdetector
Пошаговое руководство – Лагерь по изготовлению модулей
Учебный модуль представляет собой последовательный набор
тематические материалы, предназначенные для обучения теме или навыку. Это
строительный блок онлайн-курса.
Модули онлайн-обучения обычно содержат:
- цели обучения
- инструкции по применению
- способы помочь учащимся понять или научиться (т. е. учебные материалы)
- способы помочь учащимся практиковать или применять (т.0011
- способов убедиться, что учащиеся поняли или усвоили материал (например, оценки)
1. Запишите результаты обучения
Начните с основы «учащиеся смогут…» и продолжайте глаголами действия, описывающими поведение которые поддаются наблюдению и измерению. Напишите 2-4 результата обучения. Рассмотрите возможность использования глаголов действия таксономии Блума. Избегайте использования слов «понимаю» или «знаю», потому что они не очень конкретны. Вместо этого используйте другие глаголы, такие как «классифицировать, описывать, обсуждать, объяснять, идентифицировать, находить, узнавать, сообщать, выбирать, переводить и перефразировать».
2. Создайте оценку(и)
Хотя разработка оценок до материалы и мероприятия, полезно подумать о том, как вы найдете того, что студенты получили знания и навыки, которые вы хотите их, чтобы узнать, как только вы записываете результаты обучения. Продолжая эта последовательность помогает сохранить результаты обучения и оценки учащихся выровнены. Во многих случаях учебные материалы и мероприятия учат или практиковать больше, чем конкретные вещи, которые мы хотим оценить.
Рассмотрите возможность включения оценок с низкими ставками, которые помогут учащимся самостоятельно контролировать свой прогресс. Создайте рубрики, если это уместно, чтобы направлять оценки и помочь учащимся понять, в каких аспектах задание, которое они выполнили хорошо, и в каких аспектах они могут улучшать. В Blackboard есть инструмент рубрики, облегчающий выставление оценок и отображение оцененных заданий для учащихся. Имейте в виду, что оценки могут быть размещены в любой части модуля; это не так обязательно должны быть в конце.
3. Создайте или курируйте учебные материалы и задания
Рассмотрите возможность использования комбинации ресурсов, которые вы курируете и ресурсы, которые вы создаете. Студенты с удовольствием рассматривают материалы, созданные их профессора, даже если материалы не такие полированные. Контент, созданный профессором, помогает сделать курс более теплым и менее «консервы». Если вы просите учащихся читать статьи, просматривать веб-сайты или просматривать видео, задавать учащимся наводящие вопросы и инструкции о том, на что следует обратить внимание. Вовлекайте их в активное обучение, рассказывая им, что искать, какие вопросы задавать себе и что записывать, пока они просматривают материалы. Если ты используя учебник, не забудьте включить заданные чтения из Это.
4. Последовательность учебных материалов и заданий для создания опыта обучения
Поместите материалы и задания в последовательную последовательность. Думать о том, как провести учащихся через них таким образом, чтобы это ощущалось как целостное опыт обучения, а не ряд отдельных «предметов» на будущее через. Четко объясните, как учебный материал или задание будут продвигать свое обучение навыкам или понимание темы.
5. Написать инструкции для учащихся
Включите шаги, советы и сроки выполнения. Добавьте комментарии о том, как содержание этого модуля связано с тем, что учащиеся узнали ранее и что они узнают позже. Пишите короткими предложениями и используйте маркеры точки и нумерованные списки. Попросите коллегу или члена семьи посмотреть над вашими инструкциями, чтобы проверить ясность и опечатки. Хотя это является одним из первых элементов, которые учащиеся видят в модуле, вы хотите напиши в последнюю очередь.
Эта запись находится под лицензией Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
примеров структур модулей | Ресурсы для разработки онлайн-курсов
By Stacey M Johnson , помощник директора по образовательным технологиям, Учебный центр Университета Вандербильта Процитируйте это руководство: Johnson, S. M. (2020). Примеры структур модулей . Ресурсы для разработки курсов Университета Вандербильта. https://www.vanderbilt.edu/cdr/module1/examples-of-module-structures/ Давайте рассмотрим несколько примеров того, как структурировать модуль онлайн-курса.
Не существует идеальной модульной структуры, и даже когда курсы разрабатываются и преподаются одним и тем же человеком, они, как правило, используют несколько иную модульную структуру, основанную на учебных мероприятиях и целях. Возможно, было бы полезно увидеть несколько примеров различных модулей, чтобы заставить работать наши умственные механизмы.
Пример 1: шаблон общего семинара/дискуссионного курса
В сообщении блога, опубликованном еще в марте, когда дистанционное обучение только началось, я написал о двух модульных структурах, которые могут быть полезны для преподавателей на семинарах и лекциях. Вы можете вернуться и прочитать этот пост для более подробной информации, если хотите. Он включает пошаговые инструкции и ссылки на руководства по Brightspace, которые помогут вам создать модули. А пока давайте рассмотрим первую структуру из поста здесь.
Чтобы воссоздать живое обсуждение семинара в классе, преподаватели могут использовать структурированный формат, подобный приведенному ниже. Подумайте, в частности, сколько времени займет каждое действие. Если ваш семестр рассчитан на то, чтобы учащиеся тратили 3–5 часов в неделю на чтение и подготовку и 3 часа в неделю на занятия, убедитесь, что вы непреднамеренно не создаете намного большую или меньшую рабочую нагрузку в Интернете. (Примечание: преподаватели часто ошибаются из-за слишком высокой рабочей нагрузки при первом переводе курсов в онлайн. Такое планирование может помочь предотвратить это.)
- Чтение/ввод , который может включать:
- назначенные показания
- Действия до и после чтения
- лекция, подготовленная инструктором для предоставления контекста
- Журнал/Процесс , который может включать:
- отправка ответов на запросы после чтения в качестве задания
- викторина по чтению, в которой задаются вопросы по обработке
- взаимодействие с коллегами в асинхронном текстовом или видео-обсуждении
- добавление мыслей в отдельный журнал доски обсуждений
- Обсуждение , которое может включать:
- синхронная встреча Zoom
- асинхронный Обсуждение
- внешний инструмент, такой как Flipgrid для асинхронных обсуждений видео или Hypothes. is для социальной аннотации текстов
- , если вы преподаете гибридный курс, это может быть место, где будут проходить ваши живые встречи f2f
Если этот формат кажется вам подходящим… но есть и другие элементы, которые вы обычно включаете в свои занятия f2f и надеетесь также использовать онлайн, как вы можете адаптировать эту модель к вашим потребностям? Возможно 4-й шаг в модуле демонстрации знаний и умений? Или, может быть, в вашем курсе есть презентационный элемент, и учащимся нужно будет создавать и делиться своими собственными видео- или аудиопрезентациями? В этом простом формате есть много возможностей для адаптации, дополнений и персонализации.
Пример 2: общая лекция / шаблон большого курса
Снова опираясь на мартовский пост в блоге, давайте посмотрим на общий шаблон еженедельного лекционного модуля.
Чтобы воссоздать живую презентацию лекции, преподаватели могут использовать структурированный формат, подобный приведенному ниже. Подумайте, в частности, сколько времени займет каждое действие. Если ваш семестр рассчитан на то, чтобы учащиеся тратили 3–5 часов в неделю на чтение и подготовку и 3 часа в неделю на занятия, убедитесь, что вы непреднамеренно не создаете намного большую или меньшую рабочую нагрузку в Интернете. (Примечание: преподаватели часто ошибаются из-за слишком высокой рабочей нагрузки при первом переводе курсов в онлайн. Такое планирование может помочь предотвратить это.)
- Лекция/Введение , что может включать:
- видео лекций через Kaltura
- назначены чтения из учебника или созданные на Brightspace
- открытые образовательные ресурсы (ООР), созданные экспертами
- Домашнее задание / Обработка , что может включать:
- наборы задач из онлайн-платформы для самостоятельной оценки учебника
- Викторина с неограниченным количеством попыток
- задач с ручкой и бумагой отсканированы и отправлены в качестве Задания
- размещение ответов на доске обсуждений в небольшой группе для сравнения ответов и достижения консенсуса с коллегами
- Вопросы и ответы , которые могут включать:
- синхронная встреча Zoom
- асинхронный, ограниченное время Обсуждение
- синхронный чат
- видеоответы профессора или ассистента с веб-камеры на анонимные вопросы, заданные студентами на доске обсуждений
Как можно изменить этот шаблон, чтобы включить элементы, которые вы обычно включаете в свои классы?
Пример 3: сжатый шаблон летнего курса
Натан Холл, преподаватель Колледжа Дугласа в Ванкувере, Британская Колумбия, недавно опубликовал в Твиттере информацию о своей модульной структуре для своего 4-недельного летнего курса. Его курс «встречается» по 3 часа в день и 4 дня в неделю со смесью асинхронных и синхронных занятий. Он хотел убедиться, что каждый день включает в себя сочетание полезных учебных действий, которые были бы достаточно предсказуемы, чтобы создать четкий путь обучения. Вот его визуальное представление структуры модуля (доступно с разрешения):
Шаг 1: Учащиеся просматривают и взаимодействуют с короткими записанными уроками на Edpuzzle перед тем, как прийти в класс. (Асинхронный – всего 45 минут)
Шаг 2: Учащиеся выполняют контролируемые практические действия самостоятельно, основываясь на том, что они узнали на записанных уроках до прихода в класс. Это самомаркировка. (Асинхронный – всего 45 минут)
Шаг 3: Учащиеся посещают живой урок с инструктором, где они тренируются в парах и группах. (Синхронный – 1 час)
Шаг 4: Учащиеся работают самостоятельно в комнате отдыха над письменным проектом.