[ Python ] 동적 변수 할당 및 불러들이기
2019. 12. 15. 21:18ㆍ분석 Python/구현 및 자료
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다 ^^
R에서는 string 객체에 값을 넣은 다음에 할당할 수 있는 방법이 있다.
assign 함수와 mget의 함수를 사용하면 된다.
##R
## string 객체에 값 할당하기
asssing("object1" , 5 )
## 불러들이기
mget("object1")
### 5
이제까지 파이썬을 사용할 때 이러한 것에 대해서 몰라서 굉장히 불편하게 dict에 담아둬서 key값으로 불러내는 방법을 사용했다. 하지만 아직 더 나아가서 함수든 지 객체던지 모두 저장하는 방법에 대해서도 알고 싶다.
R에는 save 함수가 있는데, 이러한 기능이 파이썬에서도 있는지 궁금하다.
파이썬에서는 sys 함수를 사용하면 동적 변수 할당이 가능하다는 것을 알게 되었다!
import sys , numpy as np
mod = sys.modules[__name__]
for idx in range(5) :
setattr(mod, 'object_{}'.format(idx), idx )
여기선 Loop를 돌면서 object_0 ~ object_4까지 생성하였다.
그렇다면 이것을 불러오면 다음과 같이 사용할 수 있다.
그렇다면 이러한 값을 string 객체에서 값으로 가져오게 하려면 어떻게 해야 할까??
for idx in range(5) :
print(getattr(mod, 'object_{}'.format(idx)))
그러면 setattr 함수가 아닌 원래 있는 값도 가능할까?!
Loop를 돌면서 객체를 따로 저장하고 싶을 때 매우 매우 유용한 팁인 것 같다!
참고 :
https://wikidocs.net/13945
https://www.thoughtco.com/using-pickle-to-save-objects-2813661
728x90
'분석 Python > 구현 및 자료' 카테고리의 다른 글
[ Python ] numba 사용 예시 (0) | 2020.01.15 |
---|---|
[ Python ] smtplib을 활용한 메일 보내기 (이미지 , 텍스트 , gif) (0) | 2020.01.05 |
[ Python ] H2O XGBOOST Practice (0) | 2019.12.15 |
[ Python ] logging 결과물 폴더 생성 후 압축 파일로 저장하기 (0) | 2019.12.09 |
[ Python ] smtplib를 이용해서 html 메일로 보내기 (0) | 2019.11.24 |