Python импортирует метод, который зависит от импортируемого класса - PullRequest
1 голос
/ 18 декабря 2009

Итак, если у меня есть 2 файла, которые выглядят так:

Файл 1

import class1
import method1

def method2(something):
    result = method1(classname=class1)

Файл 2

def method1(classname):
    some_result = classname.resultfinder
    return some_result

Будет ли это работать?

Я имею в виду, так как я не импортирую class1 в файл, где живёт method1, но method1 по-прежнему использует class1. Будет ли метод1 иметь доступ к классу 1 через импорт, выполненный в файле 1, куда метод 1 импортирован?

Ответы [ 3 ]

2 голосов
/ 18 декабря 2009

Что случилось, когда вы попробовали это?

Обратите внимание, что ваш импорт method1 неверен. Кроме того --- да, вам не нужно импортировать все. Как вы думаете, стандартная библиотека импортирует ваши вещи, когда вы их используете? ; -)

1 голос
/ 18 декабря 2009

Я думаю, что все должно быть в порядке - представьте, что вам нужно импортировать все возможные типы, которые могут быть переданы в функцию во время выполнения. Я не думаю, что такой «динамический» язык будет длиться очень долго.

0 голосов
/ 18 декабря 2009

Это выглядит не совсем правильно - вы не совсем «импортируете class1», вы больше импортируете модуль (в файле), который содержит class1, или модуль, который содержит метод1. Так что я ожидаю увидеть больше как

from file2 import method1
from file3 import class1

Кроме того, method1 не столько принимает класс имя , сколько класс объект . Или это должен быть объект экземпляра класса? Извините, если я придирчив, но, надеюсь, полезно учесть это различие.

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