나는 여러 가지 다른 작업을 처리 할 수있는 파이썬 모듈을 작성 중이다. 이러한 작업은 그 코드 블록이 많은 지역 변수를 생성합니다 같은 기능에 넣어없이 모든 작업 부문의 코드 블록을 복사하지 않는 가장 좋은 방법은 무엇 다음단일 모듈에 재사용 가능한 코드
if __name__ == '__main__:'
task == sys.argv[1]
if task =='task1':
code block1
code block2
...
if task == 'task2':
code block2
....
if task == 'task3':
some code
code block1
......
으로 코드의 특정 부분을 공유 할 수 있습니다.
업데이트 : 나는 abc.m에서 코드 블록을 실행하여 코드에 abc.m 행을 배치하는 MATLAB의 무언가를 생각하고 있습니다. 함수 대신 다른 모듈에 저장된 코드 블록을 실행할 수있는 방법이 있는지 궁금합니다. (가능한 모든 부작용을 최소화하는 것이 더 좋음)
함수가 많은 지역 변수를 생성하는 경우 왜 문제가됩니까? 함수 범위 밖의 변수가 필요하다는 것을 의미합니까? 당신은 그들을 돌려 보낼 수 있습니다. – syntonym
왜 당신은 그것들을 기능에 넣고 싶지 않을까요? 문자 적으로 그것들의 요점입니다. – casraf
분명한 선택은 기능입니다. 왜 거기에 기능을 사용하고 싶지 않아? 우리가 당신의 문제를 더 잘 이해할 수 있도록 좀 더 구체적인 예를 보여주십시오. – brandizzi