본문 바로가기

2019/013

[python] list comprehension 파이썬 List compresion은 2.xx에서부터 지원하고, set, dictionary comprehension은 3.xx부터 지원한다. 기본적으로 [출력표현식 for (요소) in (sequence) if (조건문)] 형태를 띄는데 예를 들면, s = [i*i for i in range(10) if i %2 ==0]print(s) 이런식으로 쓰는데, s = [(x,y) for x in range(3) for y in range(3)]print(s) oldlist = [1,2,'A',False,3]newlist = [s for i in oldlist ]print(newlist) 이렇게 쓰는것도 가능하다. 그런데 출력표현식이 뒤의 조건문이나, 요소를 포함하지 않아도 가능하다. s = [random.r.. 2019. 1. 30.
[python] virtualenv, ipykernel 사용법 1. global python 은 패키지를 깔지 않고 보존한다. 2. 개인은 virtual env을 만들어서 사용한다. (프로젝트별로 사용) virtual env 설치 : >> sudo pip install virtualenv 가상환경 구성하기 # -python 옵션으로 상속받을 python 버전 지정 >> virtualenv project1_env --python=python3.7 3. virtual env 사용하기 >> source project1_env/bin/activate 4. virtual env 나오기 >> deactivate jupyter에 virtualenv python환경 추가 하는 법 1. 가상환경 활성화 source activate [virtual_env] 2. 가상환경에서 ipyk.. 2019. 1. 29.
[python] module파일을 수정시 main script에 반영안되는 문제, importlib 파이썬은 스크립트 언어지만.. module.py를 import 하였을때 module.pyc로 컴파일후 본문내 불러와 진다. module.py을 변경하여도 컴파일러가 알아챌만한 큰 변화가 없으면, module.pyc을 매번 컴파일 하지 않는다는 문제. 물론 매번 컴파일 한다면 속도면에서 큰 제약이 있겠다. 그래서 module을 강제 reload하고 싶을때는, import moduleA as maimport importlibimportlib.reload(ma) 이렇게 reload를 해주면 변경된 moduleA.py가 반영된다. 2019. 1. 15.