2017-12-08 1 views
0

스크립트에서 사용되는 스크립트의 끝에 함수를 추가하고 싶습니다. 이 기능은 아직 알려지지 않았기 때문에 물론 작동하지 않습니다. 따라서이 기능을 같은 스크립트에서 가져올 수 있습니까? 나는 다음과 같은 그것을 할 경우선언 된 것과 동일한 파일에서 함수 가져 오기

, 나는 오류 "ImportError를을 : 이름을 가져올 수 없습니다 : '하위 기능'"수

from the_script_in_use import subfuction 

a=subfunction(b) 

def subfunction(value) 
    do something 
    return a 
+1

대신 상단에 기능을 배치하지 않는 이유는 무엇입니까? –

+0

물론 이것이 고전적인 방법입니다. 이 경우에는 스크립트를 읽을 수 없게 만드는 작은 서브 함수가 있습니다. 물론 내가 다른 파일에도 저장할 수는 있지만 (현재 내가하는 것처럼)이 스크립트에서만 사용됩니다. –

답변

1

한 가지 방법을 쓰고있다 :

def main(): 
    b = 5 
    a = subfunction(b) 
    print a 

def subfunction(value): 
    a = value + 10 
    return a 

if __name__ == '__main__': 
    main() 

이 방법 당신은 당신이 마지막에 main 함수를 호출 지킬 때, 당신이 좋아하는 순서대로 코드를 작성할 수 있습니다.

+0

고마워, 그건 사실 꽤 논리. –

0

당신이 pass 사용하려고 할 수 있습니다

def func1(): 
    pass 

func1() 

def func1(): 
    print "yes" 

을하지만이 실제로 함수를 실행하는 데 도움이되지 않습니다. 파이썬에서이 작업을 수행하는

1

당신은 문을 사용할 수 있습니다

당신이 스크립트로이 파일을 실행하면 실행됩니다
if __name__ == '__main__': 

. 귀하의 경우 :

def main_function() 
    a=subfunction(b) 

def subfunction(value) 
    do something 
    return a 

if __name__ == '__main__': 
    main_function() 

귀하의 기능을 가져올 필요가 없습니다. 원하는대로 원하는대로 꾸밀 수 있습니다.

+0

고마워. 나는 4 분 일찍부터 나쿨 반살에서 대답을 선택한다 :-) 좋은 하루 되세요. –

관련 문제