함수 이름을 저장한 문자열로 그 함수를 쓸 수 있는 방법 있을까요?


예를 들어 mystring = "extend" 이고 이걸로 extend함수를 쓰고 싶을 때

mystring = "extend"
a = [1,2,3]

myfunc = 어떤함수(a, mystring) #이제 myfunc가 a.extend와 같은 역할
myfunc([4]) #a.extend([4])와 동일
print a

결과 : [1,2,3,4]

이런 식으로 쓸 수 있게요.

  • 2016년 06월 01일에 수정됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.
  • 2016년 01월 07일에 작성됨

조회수 123


1 답변


좋아요
0
싫어요
채택취소하기

getattr()을 사용해보세요 다음과 같이 쓸 수 있습니다.

a = [1,2,3]
myfunc = getattr(a, 'extend') #이제 myfunc 는 a.extend()와 동일
myfunc([4]) # = a.extend([4])

#위의 코드를 줄여 쓰면
a = [1,2,3]
getattr(a, 'extend')([4])
  • 2016년 01월 07일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close