그것은 당신이 뭘 하려는지에 따라 다르지만 일반적으로, 당신의 클래스를 가져 오는 코드는 다음과 같이 것이라고 생각 :
from MyApp import MyClass
my_instance = MyClass()
value = my_instance.gather_path()
value
변수가 지금 tld_object의 값이 포함됩니다.
get_path()
을 호출하기 위해 MyClass
을 인스턴스화하지 않으려면 get_path()
을 class or static method으로 설정해야합니다.
예를 들어, self.tld_object를 설정해야하는 것은 분명하지 않습니다. 다른 메소드가 해당 상태에서 의존하지 않는 한 gather_path()에서 반환하기 때문에 self.tld_object를 설정해야합니다. 그래도 아무 것도 설정하지 않은 경우에도 __init__
에 신고하는 것이 더 좋습니다. MyClass의 모든 인스턴스가 tld_object의 동일한 값을 사용하려는 경우 또는, 당신은 클래스 변수를 만들 수있는, 그냥 같은, 어떤 방법 이외의 선언 :
class MyClass:
tld_object = Tld.objects.get(id=3,FKToClient=User.pk)
def gather_path(self):
return self.tld_object
를 확실하지 그 얼마나 귀하의 요구와 관련이 있기 때문에, 주어진 예제에서 알기가 약간 어렵습니다. 하여 다른 모듈에서 다음은 클래스 외부에서 tld_object에 도달해야하는 경우
class MyClass:
def __init__(self):
self.tld_object = Tld.objects.get(id=3,FKToClient=User.pk)
# Maybe raise an exception or something if self.tld_object doesn't get set right
# Example of how to access tld_object from another method
def print_tld_object(self):
print self.tld_object
, 당신은 할 것 :이 (지금까지 말한 것을 제공) 작성한다면, 나는 다음을 수행 할 것 :
from MyApp import MyClass
my_instance = MyClass()
tld = my_instance.tld_object
왜 수업이 있습니까? 모듈 레벨 함수'gather_path'를 만들지 않겠습니까? – mgilson
클래스에 gather_과 같은 다른 메소드가 있습니다. gather_path()에서 반환 값을 사용하려고 구체적으로 시도하고 있습니다. –
CodeTalk
'MyApp.MyClass import gather_path()'가 유효하지 않은 구문입니까? – 2rs2ts