파이썬에서 함수 인자를 변수명으로 받으려면 어떻게 하나요??
조회수 1622회
함수 인자는 보통 값으로 전달이 되잖아요? 그런데 저는 함수 인자를 인스턴스 변수명으로 쓰고 싶습니다.
예를 들어 A 클래스 내의 foo 함수 인자에 abc라고 넣어줬다면 self.abc라는 인스턴스 변수에 5를 할당하고 싶습니다.
//class A:
def foo(XXXX):
XXXXXX
XXXXXX=5
B = A()
B.foo(abc)
B.abc
# 출력값 5
저 X표 친 부분을 어떻게 구성해야 제가 원하는 결과를 얻을 수 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
리플렉션 이라는 기능을 이용하면 됩니다.
>>> class Foo: ... def myFunc(self, fieldName): ... setattr(self, fieldName, 5) ... ... >>> f = Foo() >>> f.myFunc('abc') >>> f.abc 5
댓글 입력