[Python] Auto-Machine(?) APIs
안타까운 제목이다. 뭐라고 지을 거리가 없어!
어쨌건 이 포스트의 내용은 코딩량을 줄여주는 기법...에 사용되는 몇 가지 함수를 메모하려는게 목적.
1. type() - What is this variable's type?
변수 타입을 확인하는 방법. 타입에 따라 특정하게 동작해야 되는 함수를 타입 별로 만드는 건 낭비지?
보통은
참고로
2. eval() - Run! run! run! Evaluate string...
문자열을 실행한다! 이거 python interactive shell을 만들 수도 있다는 말이지. 굳이 만들 필요는 없지만 -_-;;
사용법은
3. dir() - Where is here?! Get symbols on module.
특정 모듈 내의 심볼을 몽땅 확인할 수 있다.
4. yield()
잘 쓰진 않아서 모르겠지만 import할 때 좀 써먹었다.
어쨌건 이 포스트의 내용은 코딩량을 줄여주는 기법...에 사용되는 몇 가지 함수를 메모하려는게 목적.
1. type() - What is this variable's type?
변수 타입을 확인하는 방법. 타입에 따라 특정하게 동작해야 되는 함수를 타입 별로 만드는 건 낭비지?
보통은
type(varname).__name__
을 확인하는 방식으로 많이 쓰는 듯 하다.참고로
None
은 'NoneType'
이라고 알려준다. 주의할 것.2. eval() - Run! run! run! Evaluate string...
문자열을 실행한다! 이거 python interactive shell을 만들 수도 있다는 말이지. 굳이 만들 필요는 없지만 -_-;;
사용법은
eval('testfunc')(arg1, arg2)이런 식. 이걸 실행하면
testfunc(arg1, arg2)
를 실행하는 것과 동일하다는 의미.3. dir() - Where is here?! Get symbols on module.
특정 모듈 내의 심볼을 몽땅 확인할 수 있다.
import sys for s in dir(sys): print s예를 들어 특정 파일의 모든 함수를 한방에 실행하고 싶다면 dir()로 심볼 긁어내고 type()으로 함수인지 확인하고 eval()로 실행하면 된다는 의미가 된다.
4. yield()
잘 쓰진 않아서 모르겠지만 import할 때 좀 써먹었다.
yield(name, __import__('%s.%s' % (__name__, name), {}, {}, ['']))자기 디렉토리 안에 있는 특정 모듈(name)을 import하는 코드던데. 뭐 자세한 건 reference문서 뒤져봐야지.
댓글