저는 여러 가지 서비스에서 사용자 정보를 요청하고 몇 가지 방법으로 함께 묶는 프로그램을 작성하고 있습니다. 물건을 관리하고 느슨한 상호 작용을합니다. 내 모든 파이썬 프로젝트는 특정 크기로 문제가 발생합니다. 수입은 재귀 적으로되기 시작하고 주변의 데이터를 다루는 것은 짜증나게됩니다.파이썬 클래스, 데이터 구조 및 적절한 아키텍처
간단한 예제를 통해 방금 만난 문제의 빠른 예를 볼 수 있습니다. 기본 객체 (싱글 톤)를 생성하는 메인 모듈 (여기에서는 A)이 있습니다. 이 객체들은 서로 함수를 호출해야하므로 main을 커넥터로 사용합니다. 이 예제에서는 B가 생성 될 때 A가 요청한 목록이 (없음) NoneType 인 경우를 이해하지 못합니다. 게터 기능은 반드시 내가가는 길은 아니지만 다른 상황에서 도움이되었습니다. 팁, 중점적 인 파이썬 프로그램을 구조화하는 방법을 알려주고 있습니다. 감사!
import B
some_list = None
b = None
def get_list():
return some_list
if __name__ == "__main__":
some_list = [1,2,3]
b = B.B()
print b.my_list
그리고 모듈 B
from A import get_list
class B:
def __init__(self):
self.my_list = get_list().map(lambda v : v * 2) # CRASH HERE!
MMH 확실하지의 경우 버전 일 (2.7.11)을하지만 난에 대한'__main__'을 사용할 수 없습니다 :
당신은, 예를 들어,
B()
클래스에 함수에 전달할 수' NameError : 전역 이름 '__main__'이 정의되지 않았습니다 .. – ramin@ramin : 이것은 Python 버전이 아닙니다. '__main__ '을 (를) 가져 오지 않았습니다. –
심지어 tho pycharm도 __main __을 (를) 가져 오지 못하는 것에 대해 불평합니다. fct : D 덕분에지도를 수정 한 후에 작동합니다. – ramin