"unpredictable_words"문자열이 포함 된 파일이 있다고 가정 해 봅니다. 나는이 문자열을 읽고 다음과 같이 함수를 정의하고 싶습니다 :python - 어떻게 Idynamically 파일에서 문자열을 기반으로 이름을 가진 함수를 만들 수 있습니까?
def test_unpredictable_words(self):
do_important_stuff()
내가이 함수는이 클래스의 인스턴스에서 호출 할 수 있도록 클래스 정의에이 기능을 주입하고 싶습니다.
어떻게하면됩니까?
나는이 대답을 약간 보았다. - https://stackoverflow.com/a/8160676/1701170 -하지만 나는 그것이 정확히 무엇을 원하고 있다고 생각하지 않는다. 또는 정확히 무엇이 일어나고 있는지 이해할 수 없다.
나는 따라 가지 않습니다. 대답에는 문자열을 기반으로 동적으로 결정되는 함수 이름이 없습니다. 기능을 주입하는 것은 저에게 어려운 부분이 아닙니다. 문자열을 기반으로하는 명명 된 함수를 정의하는 방법을 알면 이해할 수없는 부분입니다. – jononomo
나는 당신이 필요로하는 것을 성취하는데 필요한 모든 대답을 가지고 있다고 생각합니다. 새 메소드를 삽입하려는 클래스 'A'가 있습니다. 파일에서 메소드 이름을 추출하고, 필요한 코드로 모든 함수 (이름은 중요하지 않음)를 정의하고,'setattr (A, method_name, your_defined_function)'을 사용하여 새 메소드를 삽입하십시오. – warvariuc
Python의 함수는 일류 시민입니다. 함수 이름은 중요하지 않으며 여러 변수에 동일한 함수를 지정할 수 있습니다. 따라서 "문자열을 기반으로하는 이름을 사용하여 함수를 정의하는 방법을 아는 것"은 나에게 의미가 없습니다. 함수를 정의한 다음 다른 이름으로 클래스에 삽입하십시오. 덕분에 – warvariuc