제목이 다음과 같은 질문을 요약한다고 생각하십시오 .--)파이썬에서 모듈과 스크립트의 차이점은 무엇입니까?
답변
스크립트는 일반적으로 직접 실행 가능한 코드 조각으로, 그 자체로 실행됩니다. 모듈은 일반적으로 다른 코드로 가져온 라이브러리입니다.
내부적 인 차이는 없습니다. 라이브러리 코드는 직접 실행될 때 라이브러리 코드가 종종 아무 것도하지 않거나 (또는 단위 테스트를 실행하기 만하지만) 스크립트로 설계된 코드를 가져 오면 실행 가능하고 가져올 수 있다는 점에 유의하십시오 따라서 일반적인 if __name__ == "__main__"
테스트를 실행하십시오.
모든 Python 모듈은 스크립트로 실행될 수 있습니다. 유일한 중요한 차이점은 모듈로 가져올 때 파일 이름이 모듈 이름의 기초로 사용되는 반면 스크립트로 실행하면 모듈의 이름은 __main__
입니다.
이 구별은 if __name__=="__main__"
이 지키고있는 블록에 스크립트 특정 코드를 포함 시켜서 가져올 때 다른 동작을 가능하게합니다. 이는 사용자가 __main__
을 가져 오는 대신 자체 이름으로 주 모듈을 가져 오려고 시도 할 때 혼동을 일으키는 것으로 알려져 있습니다.
스크립트와 모듈의 사소한 차이점은 모듈을 가져올 때 시스템은 기존 .pyc 파일 (존재하고 최신 Python 버전)을 사용하려고 시도하고, .py 파일을 컴파일하면 .pyc 파일을 저장하려고 시도합니다. .py 파일을 스크립트로 실행하면 이전에 컴파일 된 모듈을로드하지 않으며 컴파일 된 코드를 저장하지 않습니다. 이러한 이유로 시작 시간을 최소화하기 위해 스크립트를 작게 유지하는 것이 좋습니다.
* *로 실행 된 문구를 *로 바꿔 줄 것을 제안합니다. * [* of comment] (https://stackoverflow.com/)에서 제안한대로 * program *에 의해 * script *가 남아있을 수도 있습니다. 질문/2996110/what-of-the-the-difference-a-module-and-a-python에서 # comment3060238_2996170) – Wolf
- 1. 확장 모듈과 모듈의 차이점은 무엇입니까?
- 2. 파이썬에서 ''와 ' "의 차이점은 무엇입니까?
- 3. 파이썬에서 객체와 클래스의 차이점은 무엇입니까
- 4. 파이썬에서 {}와 []의 차이점은 무엇입니까?
- 5. mod_php와 cgi PHP 스크립트의 차이점은 무엇입니까?
- 6. 모듈과 클로저의 차이점
- 7. 어떻게 파이썬에서 로깅 모듈을 unittest 모듈과 함께 사용할 수 있습니까?
- 8. 두 가지 자바 스크립트의 차이점은 무엇입니까? 내가 볼
- 9. 공유 모듈을 사용하여 모듈과 PHP를 컴파일?
- 10. 자바 스크립트의 clickevent
- 11. 파이썬에서 dir (...)과 vars (...) .keys() 사이의 차이점은 무엇입니까?
- 12. pydoc과 help()의 차이점은 무엇입니까?
- 13. JRuby를 임베디드 모듈과 클래스
- 14. OCaml의 모듈과 성능
- 15. 모듈과 함께 RSL 사용
- 16. () vs [] vs {}의 차이점은 무엇입니까?
- 17. JavaFX 스크립트의 용도는 무엇입니까?
- 18. 자바 스크립트의 결과는 무엇입니까?
- 19. 활성 파이썬과 파이썬의 차이점은 무엇입니까?
- 20. Python 스크립트의 통합 테스트를 수행하는 방법은 무엇입니까?
- 21. autofac에서 모듈과 설정 파일 사용하기
- 22. 파이썬에서 stderr를 리디렉션하는 방법은 무엇입니까?
- 23. 파이썬에서 '또는'연산자에 대한 괄호의 효과는 무엇입니까?
- 24. URL에있는 로케일 모듈과 언어 접두어
- 25. DBPedia를 사용하는 python 스크립트의 예?
- 26. "sqlite"와 "pysqlite2/sqlite3"모듈의 차이점은 무엇입니까?
- 27. root.destroy()와 root.quit()의 차이점은 무엇입니까?
- 28. 이 PHP 스크립트의 문제점은 무엇입니까?
- 29. AS3 스크립트의 진입 점은 무엇입니까?
- 30. vxworks 스크립트의 끝 부분은 무엇입니까?
+1 : "내부 구분 없음". 그것은 당신이 그것을 어떻게 사용하는지입니다. –
예. 또한 우리가 구별을하는 한, 다른 프로그램의 동작을 스크립트로 작성하지 않는 한 스크립트 (스크립트가 아닌)라고 부릅니다. –