[카테고리:] 컴퓨터

  • 엑셀과 파워포인트를 파이썬에서

    엑셀과 파워포인트를 파이썬에서 연동시켜서 뭘 해보려고 했는데, 찾아보느라 삽질을 좀 했다. 그래서 다음과 같이 요약해 둔다. from win32com import client # 엑셀이나 파워포인트를 파이썬에서 연결하려면 꼭 써야 하는 명령이다. xl = client.Dispatch(“Excel.Application”) # 엑셀을 실행시켜서 파이썬에 연결한다.xl.Visible = 1 # 엑셀 창을 눈에 보이게 할지 말지를 선택한다. 0은 안보임, 1은 보임.xl.Quit() # 엑셀을 종료한다. 만약…

  • 파이썬 클로저

    파이썬 클로저가 뭔지 모르고 있었는데 나도 모르게 제대로 쓰고 있었다는 사실을 깨달았다. 가령 여러개의 변수를 받는 f(x,y)가 있다고 하자. y=10으로 고정시키고 x를 바꿔가며 map을 하고 싶은데 map(f, [1,2,3]) 이러면 f가 입력이 두개니까 안된다. 이 때. def fx(x): return f(x.1) 이렇게 해 놓고 map(fx, [1,2,3]) 이렇게 쓰면 된다. 참 쉽죠?

  • 람다 피클

    파이썬에서 lambda함수는 pickle이 안된다. pickle이 뭔지는 나도 모른다.(!) 아무튼 lambda를 포함한 클래스를 multiprocessing을 하려고 시도했더니 pickle이 안된다면서 오류를 내뿜길래 다음과 같이 조치하였다. 원래: lambda y: SomeExpressionOfY(y) 참고로 이건 f=lambda y: SomeExpressionOfY(y) 처럼 이름을 붙여줘도 오류가 난다. 다음과 같이 명시적으로 정의해야 한다. 조치후: def f(y): return lambda y: SomeExpressionOfY(y) 왜 이렇게 하였는가? 사실 저 lambda 자리에…

  • 파이썬 커리큘럼

    파이썬을 배울 때 뭘 어떻게 찾아봐야 하는가? 파이썬의 (간략한) 역사 다른 언어와 비교할 때 파이썬의 특징 파이썬 설치하는 방법. 파이썬2? 파이썬3? 공식 리포지토리 인텔 파이썬 pip numpy, scipy 등 추가 패키지 찾기, 설치하기 (옵션) 리눅스, 맥에서는? 커맨드라인 파이썬 실행방법 파이썬 개발용 IDE 선택하기 및 설정하기 geany IDLE 그 외 기초 문법 Hello, world! 파이썬에서 들여쓰기에…

  • ctypes 요약

    살다보면 파이썬에서 C언어로 만들어진 DLL파일을 써야 할 일이 있을 수도 있다. 적어도 난 그랬다. 그래서 그걸 하기 위해 많은 해법들을 찾아보았지만, SWIG라든가, 그런것들은 나에게 도움이 되지 않았다. 그래서 ctypes를 공부했다. 일단 사용하기 위해서는 import ctypes로 불러와야 한다. 그러면 ctypes가 메모리에 적재된다. 다음 순서는 내가 사용할 DLL파일을 알려주는 것이다. myDLL = ctypes.WinDLL(‘myDLLfile’) 위와 같이 쓰면 된다.…

  • 티스토리 – TTXML 백업 프로그램

    tistory2ttxml 티스토리 백업이 막힌 현재, TTXML로 티스토리 백업을 하는 프로그램을 만들었다. 이 프로그램은 GPL에 의거하여 자유롭게 사용할 수 있다. 이 프로그램을 사용하여 나타날 수 있는 모든 결과는 사용한 사람의 책임이다. 파이썬 3.6기준으로 만들었는데, 아마 2.7에서도 작동하긴 할 것이다. 질문은 새로운 블로그인 https://melotopia.net/b 로 하기 바란다. 워드프레스로 옮기는 경우 TTXML importer에서 오류가 나는데, 인코딩 때문에 발생하는…

  • Stochastic Parallel Gradient Descent method

    SPGD알고리즘은 함수 최적화를 할 때 사용하는 알고리즘이다. 기존의 Steepest descent method라든가 Conjugate Gradient method같은 경우, 특정 방향에 대해서 최적해를 찾고 그 위치에서 그 다음으로 진행할 방향을 선택해서 더이상 움직이지 않을 때 까지 반복하는 알고리즘이다. 두 방법의 차이는 그 다음 방향을 결정하는데 좀 더 개선된 방법이냐 아니냐의 차이가 있을 뿐이다. SPGD알고리즘은 통계적으로 접근하는데, 덕분에 빠른 최적화가…

  • Three layer optical fiber mode calculator

    waveguide7.zip This program calculates optical modes in three-layered optical fiber. Because of lack of time, user manual is not supported yet. If you want to use this code, PLEASE contact me and ask how to use. This program requires wxPython, numpy, scipy libraries in Python 2.7. This program is licenced under GPL v3. ( https://www.gnu.org/licenses/gpl-3.0.html…

  • 파이썬의 요상한 문법 문제

    파이썬에는 딕셔너리라는게 있는데, 참 편리한 놈이다. 여기서 원소를 불러오려면 pop과 get메소드 중에 하나를 쓰면 되는데… a={‘abc’:1} for i in range(10): print a.pop(‘abc’) 위와 같은 코드는 에러가 난다. a={‘abc’:1} for i in range(10): print a.get(‘abc’) 그러나 위와 같은 코드는 에러가 나지 않는다. 대체 뭐지… 위의 문제는 get과 pop의 작동 방식 차이에서 오는 것이다. get은 해당 키워드의…

  • 리빙 포인트

    자기가 쓰고 있는 프로그래밍 언어에서 로그 함수의 밑이 어떤 것인지 모를 때에는 원하는 밑수에 로그값을 취해서 사용하려는 로그 함수를 나눠주면 좋다.