понимание того, как импортировать переменные из метода - PullRequest
0 голосов
/ 26 января 2011

Допустим, у меня есть что-то вроде этого: Это файл tree.py:

class leaf():
def green():
    x = 100

Это файл view.py:

from tree import leaf.green 
g = green()
print g.x

Как получить подкласс переменной формы green Я знаю, для класса это просто:

Это файл tree.py:

class leaf():

    x = 100

Это файл view.py:

from tree import leaf 
class view():
 g = leaf()
 print g.x

Я понимаю, как это сделать, если оба класса находятся в одном файле. Но я не понимаю в двух отдельных файлах. Спасибо, John

Ответы [ 2 ]

2 голосов
/ 26 января 2011

Я думаю, что корень вашей проблемы в том, что вам нужно больше узнать о том, как работают классы в Python.К счастью, в руководстве по Python docs есть раздел, посвященный классам .

Если это не поможет, изучите что-то вроде Learn Python the Hard Way и выполнитеупражнения могут быть очень полезны.

1 голос
/ 26 января 2011

x является локальным для метода, т.е. к нему нельзя (и, по крайней мере, нелегко) получить доступ извне.Хуже - он существует только во время работы метода (и удаляется после его возврата).

Обратите внимание, что вы можете присвоить атрибут методу (в действительности, любой функции):

class Leaf(object):
    def green(self):
        ...
    green.x = 100

print Leaf.green.x

Но это, вероятно, не то, что вы хотите (для начала, вы не можете получить к нему доступ как к локальной переменной внутри метода - , потому что это не одна ), и на самом деле очень редкополезно (если у вас нет действительно веской причины, просто используйте класс).

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