본문 바로가기

Import27

Python 모듈의 이름(문자열)을 사용하여 함수를 호출하기, Calling a function of a module by using its name (a string) 질문 함수 이름을 포함한 문자열을 사용하여 함수를 호출하는 방법은 무엇인가요? 예를 들어: import foo func_name = "bar" call(foo, func_name) # calls foo.bar() 답변 모듈 foo와 메소드 bar가 있다고 가정합니다: import foo bar = getattr(foo, 'bar') result = bar() getattr는 클래스 인스턴스 바운드 메소드, 모듈 레벨 메소드, 클래스 메소드 등에도 유사하게 사용할 수 있습니다. 목록은 계속됩니다. 2023. 5. 7.
Python __init__.py는 무엇을 위한 것인가요?, What is __init__.py for? 질문 파이썬 소스 디렉토리에서 __init__.py은 무엇을 위한 것인가요? 답변 이것은 이전 3.3 이전의 "일반 패키지"(old, pre-3.3 "regular package")에서 필수적인 부분이었지만, 3.3+ 이후의 "네임스페이스 패키지"(newer 3.3+ "namespace package")에서는 필수적이지 않습니다. 여기에 문서가 있습니다. 파이썬은 두 가지 유형의 패키지, 즉 일반 패키지와 네임스페이스 패키지를 정의합니다. 일반 패키지는 Python 3.2 이전의 전통적인 패키지입니다. 일반 패키지는 일반적으로 __init__.py 파일을 포함하는 디렉토리로 구현됩니다. 일반 패키지가 가져와질 때, 이 __init__.py 파일은 암시적으로 실행되며, 그것이 정의하는 객체는 패키지의 이름.. 2023. 5. 5.
Python if __name__ == "__main__":는 무엇을 하는 것인가요?, What does if __name__ == "__main__": do? 질문 제목: if __name__ == "__main__"은 무엇을 하는 것인가요? 이것은 무엇을 하는 것이며, if 문을 포함해야 하는 이유는 무엇인가요? if __name__ == "__main__": print("Hello, World!") 이 관용구를 사용해야 하는데 사용하지 않는 경우 질문을 닫으려는 경우, 대신 Why is Python running my module when I import it, and how do I stop it?을(를) 중복으로 닫으십시오. 함수를 호출하지 않은 경우나 잘못된 기대로 인해 main이라는 함수가 자동으로 시작점으로 사용되는 것으로 예상하는 경우, Why doesn't the main() function run when I start a Python scr.. 2023. 5. 4.