여기에 실제 코드 전체를 게시하는 데 많은 어려움이 없으므로 문제를 일반화하기 위해 최선을 다할 것입니다. 함수 (x라는 이름 지정)는 코드 시작 부분에 정의됩니다. 그런 다음 클래스 (메소드 z 및 z가 있고 결국 x를 호출 함)를 별도의 .py 파일에서 가져옵니다. 그 클래스의 객체가 생성됩니다. z가 호출 된 후에 "전역 이름 'x'가 정의되지 않았습니다."오류가 발생합니다. 그런 다음 내 .py 파일의 모든 코드를 단일 파일에 붙여 넣은 다음 def (x)를 맨 위에 붙여서 어떤 일이 발생하는지 확인합니다. 물론, 의도 한대로 작동했습니다. 이전 방식으로 어떤 문제가 발생하지 않도록하십시오. (나는 그것을 고수하기를 더 좋아합니다.) 사실상 동일하지 않습니까?클래스 가져 오기 및 NameError
0
A
답변
2
전역 모듈 당 , 그리고 기능은에 정의 된 모듈에 전역을 찾아보십시오.
그래서spam
라는 기능에 액세스해야 bar
라는 이름의 모듈에 정의 된 클래스 Foo
는 찾아 볼 것 그 함수는 자신의 네임 스페이스이기 때문에 모듈 bar
에 있습니다. 함수가 가져온 모듈에서 전역 변수를 검색하는 경우, 사용하고자하는 함수의 모든 종속성을 반복적으로 가져와야합니다. 이것은 실용적이지 않습니다.
관련 문제
- 1. 파일 가져 오기 후 NameError
- 2. 클래스 가져 오기 및 클래스 상속
- 3. 파이썬 함수 가져 오기 캐스케이드 - NameError
- 4. 클래스 선언 가져 오기
- 5. 가져 오기 닷넷 클래스
- 6. 자바에서 클래스 가져 오기
- 7. Python의 NameError 인스턴스 클래스
- 8. 람다 클래스 콜백 NameError
- 9. 클래스 인스턴스의 초기화시 NameError
- 10. localStorage 가져 오기 및 div에 클래스 추가
- 11. Java 클래스 가져 오기 런타임 및 컴파일
- 12. Javascript - 클래스 및 파일 요소 가져 오기
- 13. java : 가져 오기, 클래스 경로 및 패키지
- 14. 클래스 가져 오기 및 메소드 호출
- 15. 상수 및 서브 클래스 가져 오기
- 16. 파이썬 순환 가져 오기 및 액세스 클래스
- 17. swf에서 MXML 및 ActionScript 클래스 가져 오기
- 18. Python에서 클래스 가져 오기 및 할당
- 19. 속성의 이름 가져 오기 및 클래스 선언
- 20. Python : 다른 모듈에서 상위 및 하위 클래스 가져 오기
- 21. PHP 클래스 가져 오기
- 22. 가져 오기 클래스 jQuery를
- 23. Python에서 클래스 가져 오기
- 24. 클래스 생성자를 가져 오기
- 25. Groovy에서 클래스 가져 오기
- 26. VB.NET 가져 오기 클래스
- 27. FreeMarker에서지도 클래스 가져 오기
- 28. matlab에서 클래스 가져 오기
- 29. 가져 오기 클래스 필드
- 30. prefix.pch에서 클래스 가져 오기
나를 지워 줘서 고마워, +1. 그래도 "바"(템플릿의 일종)를 변경하거나 모든 것을 하나의 모듈에 넣는 것보다 내 프로그램을 실행하는보다 실용적인 방법을 생각하지 않습니다. – morris
morris : 모듈은 필요한 것들이있는 다른 모듈을 가져올 수 있으므로 모든 것을 하나의 모듈에 넣을 필요가 없습니다. – martineau
@ morris : 함수도 최고급 객체입니다. 함수에 대한 참조를 전달할 수 있습니다 (함수를 호출하지 않고 이름 사용). API에서 임의의 기능을 수행해야하는 경우 –