Когда мы импортируем модуль, у нас есть метод в Python? - PullRequest
2 голосов
/ 22 февраля 2020

Таким образом, вопрос в основном:

У меня есть модуль с именем Fibo, который имеет, например, функцию с именем fibonacci(), которая вычисляет последовательность Фибоначчи. Поскольку я хочу использовать это в своей программе, я должен сделать это:

import Fibo

Fibo.fibonacci()

Но эта последняя строка не является объектом с методом с именем fibonacci, или на самом деле это так?

Ответы [ 2 ]

3 голосов
/ 22 февраля 2020

Все в Python является объектом. Если вы импортируете объект из модуля, у вас будет объект в текущем / фактическом модуле (то есть в программе). Вы можете создавать разные пространства имен и делать ваш код более организованным, используя разные файлы для вашего Python кода. Это преимущество использования других модулей и импорта из них.

Согласно документации Python, лучше просто избегать вызова fibonacci a метода и говорить, что это атрибут объекта , см .:

метод

Функция, которая определяется внутри тела класса. [...]

атрибут

Значение, связанное с объектом, на который ссылается имя, используя точечные выражения , Например, если объект o имеет атрибут a, на него будет ссылаться oa

0 голосов
/ 22 февраля 2020

В официальной документации вы можете найти ответ.

Это сводится к следующему: «Когда модуль впервые импортируется, Python ищет модуль и, если он найден, создает объект модуля 1 , инициализируя его. "

Так что, в принципе, да, Фибо - это объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...