2013-10-16 1 views
-2

저는 작업중인 게임에서 메인 스크립트와 다른 스크립트로 변수를 생성해야합니다 (PythonPygame). 예를 들어파이썬과 파이 게임을 사용하여 별도의 스크립트로 변수에 값 할당

는 :

def test(): 
    a = 10 
def testing(): 
    return a 

은 그 때 나는 다음과 같은 코드를 실행
import (script name) 
script name.test() 
script name.testing() 

그리고이 후

, 그것은 오류를 제공합니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

스택 오버플로에 오신 것을 환영합니다! 참고 : * 작동하지 않습니다 * 끔찍한 문제 설명입니다. 문제 설명에서 명확히 설명하고 오류 메시지를 포함하십시오. –

+0

이것은 또한 매우 기본적인 질문입니다. 파이썬 튜토리얼을 다시 읽으십시오. 함수 내부의 이름은 로컬이며 다른 함수에서는 볼 수 없습니다. –

+0

@Endoro :이 질문에 대한 가능한 대답 중 하나는 'a'값을 캡슐화하는'Test()'객체를 만드는 것이므로 t.test()는'self.a'를 계산하고' t.testing()'은 그것을 반환 할 수 있습니다. 'test()'에서 계산 된 많은 변수가 있다면 그것은 스케일됩니다. 실질적인 예는 디폴트 값을 계산하는 메소드와 그러한 값을 검색하는 메소드가있는 구성 오브젝트입니다. "스코프 규칙"은 그러한 대답을 제안하지 않습니다. – jfs

답변

1

testing()의 'a'는 전역 변수가 아니므로 이전 함수 test()에서 인식되지 않습니다. test()에서 'a'를 사용하려면 'a'를 전역 변수로 정의 할 수 있습니다.

+0

괜찮아요,이 ive herd 전에는 어떻게해야할지 모르겠다. –

관련 문제