Сколько библиотек можно импортировать в один проект python
Перейти к содержимому

Сколько библиотек можно импортировать в один проект python

  • автор:

Тест по дисциплине «Алгоритмизация и программирование»

Нажмите, чтобы узнать подробности

Председатель цикловой комиссии __________Мукушева Л.А.

Тест по дисциплине «Алгоритмизация и программирование»

  1. Язык программирования Python подходит для разработки:
    1. Компьютерных и мобильных приложений
    2. Аналитика и машинное обучение
    3. Игр
    4. Ничего из этого.
    5. Аккумулятор

  1. Назовите тип алгоритма:

    1. Разветвляющийся
    2. Линейный
    3. Циклический
    4. Смешанный
    5. Комбинированный

  1. Назовите тип алгоритма:

    1. Линейный
    2. Разветвляющийся
    3. Циклический
    4. Смешанный
    5. Комбинированный

  1. Назовите тип алгоритма:

    1. Разветвляющийся
    2. Линейный
    3. Смешанный
    4. Циклический
    5. Комбинированный

  1. Что хранит в себе переменная?
    1. Имя
    2. Значение
    3. Тип
    4. Длину своего значения
    5. Периметр

  1. Что обозначает тип данных int?
    1. Целочисленное
    2. Вещественное
    3. Строковое
    4. Булевое
    5. Логическое

  1. Выберите правильную запись оператора присваивания:
    1. 10 = х
    2. у = 7,8
    3. а = 5
    4. а == b + x
    5. а — b

  1. Укажите оператор ввода:
    1. input()
    2. print()
    3. int()
    4. random()
    5. cout()

  1. Сколько возможных значений у переменной типа bool?
    1. 2
    2. 4
    3. 10
    4. Сколько угодно
    5. 15

  1. Какой оператор здесь используется?

If n b = n + a

    1. Условный оператор
    2. Оператор присваивания
    3. Оператор сложения
    4. Оператор умножения
    5. Оператор цикла

  1. Что лучше использовать для множественного ветвления?
    1. if – elif –else
    2. Много if
    3. if – else – elif
    4. while
    5. for

  1. Оператор цикла в языке Python:
    1. while
    2. for
    3. if
    4. print
    5. real

  1. Сколько раз произойдет итерация цикла? (Итерация – единичное выполнение тела цикла)

print(“Осталось”, total) total = 100 i = 0 while i n = int(input()) total = total – n i = i + 1

    1. 4
    2. 5
    3. 6
    4. 0
    5. 8
    1. Для чего нужен оператор break?
      1. Для завершения программы
      2. Для выхода из цикла
      3. Для поломки компьютера
      4. Для удаления программы
      5. Для возврата программы
      1. Где находятся параметры, а где аргументы функции?
        1. Параметры пишутся при объявлении функции, аргументы при вызове
        2. Аргументы пишутся при объявлении функции, параметры при вызове
        3. Это одно и то же!
        4. У функции есть только параметры
        5. У функции нет параметров
        1. Что делает функция len()?
          1. Возвращает длину строки
          2. Возвращает случайное число
          3. Возвращает номер символа
          4. Возвращает модуль числа
          5. Возвращает значение
          1. Как добавить модуль в программу?
            1. import math
            2. import math()
            3. import (math)
            4. import.math
            5. import.**math
            1. На каких операционных системах может работать Python?
              1. Windows
              2. Linux
              3. macOS
              4. Ничего из этого
              5. Yandex
              1. От чего язык программирования называется «Питон»?
                1. В честь змеи
                2. В честь ТВ-шоу
                3. В честь игры
                4. В честь блюда
                5. В честь собаки
                1. Создатель языка программирования Python
                  1. Гвидо Ван Россум
                  2. Дэвид Паттерсон
                  3. Эрвин Дональд Кнут
                  4. Джеймс Артур Гослинг
                  5. Никлаус Вирт
                  1. а = 345. Что выведет команда print(//100)
                    1. 3
                    2. 5
                    3. 4
                    4. 34
                    5. 95
                    1. Выберите циклический алгоритм
                      1. k = 0
                        1. a = int(input())
                          1. a = int(input())
                          1. В какой строке правильно записан ввод числа с клавиатуры?
                          1. a = int(input))
                          2. b=input(int())
                          3. c=int(input())
                          4. s=a+b+c
                          5. print(s)
                            1. 1
                            2. 2
                            3. 5
                            4. 4
                            5. 6
                            1. Что такое «else»?
                              1. Так как
                              2. Иначе
                              3. Если
                              4. Потому что
                              5. Начало
                              1. Сколько раз программа напишет слово «Пока»?
                              1. 9
                              2. 0
                              3. 10
                              4. Бесконечно
                              5. -5
                              1. Как получить данные от пользователя?
                              1. Использовать метод get()
                              2. Использовать метод cin()
                              3. Использовать метод read()
                              4. Использовать метод readLine()
                              5. Использовать метод input()
                              1. Что покажет этот код?
                              1. Ошибку в коде
                              2. «Найдено» и «Готово»
                              3. «Готово»
                              4. «Найдено»
                              5. Нет правильного ответа
                              1. Что будет результатом этого кода?
                              1. 23
                              2. 10
                              3. 11
                              4. Ошибка
                              5. 0
                              1. Какие ошибки допущены в коде ниже?
                              1. Функция не может вызывать сама себя
                              2. Необходимо указать тип возвращаемого значения
                              3. Функция всегда будет возвращать 1
                              4. В коде нет никаких ошибок
                              5. Нет правильного ответа
                              1. Где правильно создана переменная?
                              1. int num = 2
                              2. Нет подходящего варианта
                              3. var num = 2
                              4. $num = 2
                              5. num = float(2)
                              1. Что будет показано в результате?
                              1. «Hi, name»
                              2. «Hi, «
                              3. Ошибка
                              4. «Hi, John»
                              5. «John»
                              1. Какая функция выводит что-либо в консоль?
                              1. write();
                              2. log();
                              3. out();
                              4. print();
                              5. cin();
                              1. Какая библиотека отвечает за время?
                              1. localtime
                              2. clock
                              3. Time
                              4. time
                              5. Date
                              1. Что покажет этот код?
                              1. Ошибку, так как i не присвоена
                              2. Ошибку из-за неверного вывода
                              3. Числа: 1, 3 и 5
                              4. Числа: 0, 2 и 4
                              5. Числа: 1 и 3
                              1. Сколько библиотек можно импортировать в один проект?
                              1. Не более 3
                              2. Не более 10
                              3. Не более 5
                              4. Не более 23
                              5. Неограниченное количество
                              1. Что будет получено в результате вычисления следующего выражения:
                              1. 0
                              2. 1
                              3. 3
                              4. None
                              5. синтаксическая ошибка
                              1. Какого типа значение получится в результате вычисления следующего выражения:
                              1. str (строка)
                              2. tuple (кортеж)
                              3. это синтаксическая ошибка
                              4. unicode (Unicode-строка)
                              5. list (список)
                              1. Какого типа значение получится в результате вычисления следующего выражения:
                              1. str (строка)
                              2. tuple (кортеж)
                              3. это синтаксическая ошибка
                              4. unicode (Unicode-строка)
                              5. list (список)
                              1. Что будет выведено следующей программой:
                              1. 212
                              2. 121
                              3. 111
                              4. 11 11 21
                              5. 2211
                              1 A, B, C 11 A 21 A 31 E
                              2 B 12 A, B 22 A 32 D
                              3 C 13 B 23 C 33 D
                              4 A 14 B 24 C, D 34 D
                              5 B 15 A 25 B 35 E
                              6 A 16 A 26 B 36 E
                              7 C 17 A 27 E 37 D
                              8 A 18 A, B, C 28 D 38 C
                              9 A 19 B 29 E 39 E
                              10 A, B, C 20 A 30 D 40 A

                              Модули и их импорт в Python

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

                              Чтобы разрешить проблему доступа к дополнительным возможностям языка, в программировании стало общепринятой практикой использовать так называемые модули, пакеты и библиотеки. Каждый модуль содержит коллекцию функций и классов, предназначенных для решения задач из определенной области. Так в модуле math языка Python содержатся математические функции, модуль random позволяет генерировать псевдослучайные числа, в модуле datetime содержатся классы для работы с датами и временем, модуль sys предоставляет доступ к системным переменным и т. д.

                              Количество модулей для языка Python огромно, что связано с популярностью языка. Часть модулей собрана в так называемую стандартную библиотеку. Стандартная она потому, что поставляется вместе с установочным пакетом. Однако существуют сторонние библиотеки. Они скачиваются и устанавливаются отдельно.

                              Для доступа к функционалу модуля, его надо импортировать в программу. После импорта интерпретатор «знает» о существовании дополнительных классов и функций и позволяет ими пользоваться.

                              В Питоне импорт осуществляется командой import . При этом существует несколько способов импорта. Рассмотрим работу с модулем на примере math . Итак,

                              >>> import math 

                              Ничего не произошло. Однако в глобальной области видимости появилось имя math . Если до импорта вы упомянули бы имя math , то возникла бы ошибка NameError . Теперь же

                              >>> math

                              В программе завелся объект math , относящийся к классу module .

                              Чтобы увидеть перечень функций, входящих в этот модуль, воспользуемся встроенной в Python функцией dir() , передав ей в качестве аргумента имя модуля:

                              >>> dir(math) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp'] 

                              Проигнорируем имена с двойными подчеркиваниями. Все остальное – имена функций и констант (переменных, которые не меняют своих значений), включенных в модуль math. Чтобы вызвать функцию из модуля, надо впереди написать имя модуля, поставить точку, далее указать имя функции, после чего в скобках передать аргументы, если они требуются. Например, чтобы вызвать функцию pow из math, надо написать так:

                              >>> math.pow(2, 2) 4.0 

                              Обратите внимание, эта другая функция pow() , не та, что встроена в сам язык. «Обычная» функция pow() возвращает целое, если аргументы целые числа:

                              >>> pow(2, 2) 4 

                              Для обращения к константе скобки не нужны:

                              >>> math.pi 3.141592653589793 

                              Если мы не знаем, что делает та или иная функция, то можем получить справочную информацию о ней с помощью встроенной в язык Python функции help() :

                              >>> help(math.gcd) Help on built-in function gcd in module math: gcd(*integers) Greatest Common Divisor. (END) 

                              Для выхода из интерактивной справки надо нажать клавишу q . В данном случае сообщается, что функция вычисляет наибольший общий делитель. Описание модулей и их содержания также можно посмотреть в официальной документации на сайте python.org.

                              Второй способ импорта – это когда импортируется не сам модуль, а только необходимые функции из него.

                              >>> from math import gcd, sqrt, hypot 

                              Перевести можно как «из модуля math импортировать функции gcd , sqrt и hypot «.

                              В таком случае при их вызове не надо перед именем функции указывать имя модуля:

                              >>> gcd(100, 150) 50 >>> sqrt(16) 4.0 >>> hypot(3, 4) 5.0 

                              Чтобы импортировать сразу все функции из модуля:

                              >>> from math import * 

                              Импорт через from не лишен недостатка. В программе уже может быть идентификатор с таким же именем, как имя одной из импортируемых функций или констант. Ошибки не будет, но одно из них окажется «затерто»:

                              >>> pi = 3.14 >>> from math import pi >>> pi 3.141592653589793 

                              Здесь исчезает значение 3.14, присвоенное переменной pi . Это имя теперь указывает на число из модуля math . Если импорт сделать раньше, чем присвоение значения pi , то будет все наоборот:

                              >>> from math import pi >>> pi = 3.14 >>> pi 3.14 

                              В связи с этим более опасен именно импорт всех функций. Так как в этом случае очень легко не заметить подмены значений идентификаторов.

                              Однако можно изменить имя идентификатора из модуля на какое угодно:

                              >>> from math import pi as P >>> P 3.141592653589793 >>> pi 3.14 

                              В данном случае константа pi из модуля импортируется под именем P . Другой смысл подобных импортов – сокращение имен, так как есть модули с длинными именами, а имена функций и классов в них еще длиннее. Если в программу импортируется всего пара сущностей, и они используются в ней часто, то имеет смысл переименовать их на более короткий вариант. Сравните:

                              >>> import calendar >>> calendar.weekheader(2) 'Mo Tu We Th Fr Sa Su' 
                              >>> from calendar import weekheader as week >>> week(3) 'Mon Tue Wed Thu Fri Sat Sun' 

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

                              Практическая работа. Создание собственного модуля

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

                              from math import pi, pow def rectangle(a, b): return round(a * b, 2) def triangle(a, h): return round(0.5 * a * h, 2) def circle(r): return round(pi * pow(r, 2), 2) 

                              Здесь также иллюстрируется принцип, что один модуль может импортировать другие. В данном случае импортируются функции из модуля math .

                              Поместите данный код в отдельный файл square.py . Однако куда поместить сам файл?

                              Когда интерпретатор Питона встречает команду импорта, то просматривает на наличие файла-модуля определенные каталоги. Их перечень можно увидеть по содержимому sys.path :

                              >>> import sys >>> sys.path ['', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/home/pl/.local/lib/python3.10/site-packages', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages'] 

                              Это список адресов в Linux. В Windows он будет несколько другим. Первый элемент – пустая строка, что обозначает текущий каталог, т.е. место, где сохранена сама программа, импортирующая модуль. Если вы сохраните файл-модуль и файл-программу в одном каталоге, то интерпретатор без труда найдет модуль.

                              Также модуль можно положить в любой другой из указанных в списке каталогов. Тогда он будет доступен для всех программ на Python, а также его можно будет импортировать в интерактивном режиме.

                              Можно добавить в sys.path свой каталог. Однако в этом случае либо код программы должен содержать команды изменения значения sys.path , либо надо править конфигурационный файл операционной системы. В большинстве случаев лучше так не делать.

                              Поместите файл square.py в тот же каталог, где будет исполняемая программа. Ее код должен включать инструкцию импорта модуля square (при импорте расширение файла не указывается) и вызов той функции и с теми аргументами, которые ввел пользователь. То есть у пользователя надо спросить, площадь какой фигуры он хочет вычислить. Далее запросить у него аргументы для соответствующей функции. Передать их в функцию из модуля square , а полученный оттуда результат вывести на экран.

                              Примечание. Исполнение модуля как самостоятельного скрипта, а также создание строк документации, которые отображает встроенная в Python функция help() , будут рассмотрены в курсе объектно-ориентированного программирования.

                              Примеры решения и дополнительные уроки в pdf-версии курса

                              X Скрыть Наверх

                              Python. Введение в программирование

                              Тест по Информатике, 9 класс: «Python: Объектно-ориентированное программирование»

                              Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.

                              Темы тестирования Интерфейсы Встроенные типы и операции с ними Знакомство с python Модули и библиотеки Объектно-ориентированное программирование Полезные инструменты Функции и работа с файлами

                              Система оценки: 5 балльная

                              Модули

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

                              Для создания модуля необходимо создать собственно файл с расширением *.py , который будет представлять модуль. Название файла будет представлять название модуля. Затем в этом файле надо определить одну или несколько функций.

                              Допустим, основной файл программы называется main.py . И мы хотим подключить к нему внешние модули.

                              Для этого сначала определим новый модуль: создадим в той же папке, где находится main.py, новый файл, который назовем message.py . По умолчанию интерпретатор Python ищет модули по ряду стандартных путей, один из которых — это папка главного, запускаемого скрипта. Поэтому, чтобы интерпретатор подхватил модуль message.py, для простоты оба файла поместим в один проект.

                              Модули в Python

                              Соответственно модуль будет называться message . Определим в нем следующий код:

                              hello = "Hello all" def print_message(text): print(f"Message: ")

                              Здесь определена переменная 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: ") 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: ") # функция 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: ") 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 предоставляет ряд встроенных модулей, которые мы можем использовать в своих программах. В следующих статьях рассмотрим основные из них.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *