0
(파이썬) 문제 여기서는 좋은 해결책을 찾지 못했습니다.몇 가지 분리도를 넘는 변수 전달
# myfunc.py
bool_val = False
# Potentially change flag
if (some_condition_is_met):
bool_val = True
# Many other function calls down the line
do_other_stuff()
이제
이,의는 "do_other_stuff"이 같은 다른 기능의 폭포 호출라고하자 내가 소스 파일 myfunc.py에서 부울 플래그 있다고 가정 해 봅시다 : (
do_other_stuff을) 다음 다음 func3() ... 결국 메신저를 호출 FUNC2()를 호출 에서 func1()를 호출 portantfunc()이 호출되었습니다. 이제
는 "importantfunc"는 "bool_val"의 값이# importantfunc.py
if bool_val is True:
do_something()
elif bool_val is False:
do_something_else()
문제는 내 SW 아키텍처의 폭포 아래 "bool_val"의 값을 전달하기가 매우 실용적 수 있다는 것입니다 무엇인지 알 필요가 함수 호출.
누구든지이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 아니면 내가 놓친 게 분명해? 미리 감사드립니다. 당신이 전화로 질문에 아키텍처를 실행하는 문제가,이 시도하지만
을, 당신은 클래스에서 이러한 기능을 넣어 시작 부분에 필드로 부울을 저장할 수 , 마지막에 액세스하십시오. –
고마워, Alex,하지만 불행히도이 기능들은 별도의 소스 파일에 있어야합니다. (이 함수는 실제로는 더 넓은 obj 지향 아키텍처의 클래스 메소드이지만 문제를 정의 할 때 단순한 함수로 남겨 둡니다.) – MRM
함수 내에 초기 할당이 있습니까? 그렇지 않으면 전역 변수를 설정해야하며 함수는 자동으로 전역 변수를 사용합니다. – Barmar