본문 바로가기

반응형

흔한말 (collection)

(48)
주피터노트북 수많은 셀 중, 딱! 하나만 파일로 저장하기! 주피터 노트북에서 파이썬으로 프로그래밍을 하다 보면 반복되는 코드를 재사용하기 쉽게 함수로 만들게 됩니다. 이런 함수들을 보통 한 셀에 몰아넣고, 다른 셀에서는 이 함수들을 호출하면서 프로그램을 짜는 일이 많죠. 그런데 함수의 내용이 길어지면 주피터노트북의 길이가 길어지게 되고, 프로그램의 큰 흐름을 만드는 코드에 대한 가독성이 떨어지는 때도 생깁니다. 그럴 때 사용할 수 있는 방법은 셀을 파일로 분리해서 저장한 다음 다시 import 하는 것입니다. 복잡한 프로그램이라고 가정하고 아래 코드를 보세요 def func0(): return "init_value" def func1(x): return pow(x,x) def func2(x): return x % 1111 def func3(x): return x..
주피터노트북 처음 시작할 때, 나는 단축키가 있는지 몰랐다 대부분의 프로그램들은 작업 효율성을 위해서 단축키를 제공합니다. 주피터 노트북도 마찬가지죠. 그런데 그 뻔한 사실을 저는 몰랐습니다.. Shift + Enter 만 알아서 셀을 실행시킬줄만 알고 나머지 조작들은 전부 다 마우스로 하고 있었거든요. 열심히 셀과 셀 사이를 마우스로 넘나들며 손목운동을 하고 있다가, 어느 날 발견합니다. "그 아이콘"을 보았습니다. 위에 보이는 아이콘을 보았던 것이죠. 눈치 채셨겠지만, 이걸 누르면 주피터 노트북이 제공하는 모든 단축키를 볼 수 있습니다. 어디에 있냐고요? 바로 여기에 있습니다. "그걸" 누르면 커맨드 팔레트가 실행되고, 버튼을 눌러보면 이런 창이 뜹니다. 이 창의 이름은 커맨드 팔레트라고 하는데요. Visual Studio Code 프로그램을 사용해보신 분들..
똑같은 패밀리 유형이 몇 개 있는지 세기 전에는 revit 파티에 갈 수 없단다 레빗은 건물, 공장, 토목 구조물 등을 설계하는 프로그램입니다. 그래서 진행이 완료되었거나, 진행 중인 레빗 프로젝트 파일을 보면 너무나도 많은 부재들이 있고, 그 각각의 부재들을 확인할 수 있는 view는 이리저리 흩어져 있기 마련입니다. 그래서 숙련된 사람이라도, 복잡한 건물의 도면을 보고 그 내용을 파악하려면 높은 집중력을 가지고 도면을 탐구하는 시간이 필요합니다. 숙련자들도 저럴진대, 익숙하지 않은 사람들은 더 죽을 맛이겠죠? 파악의 3 원칙: 무엇, 어디, 몇 개 사실 건축 프로젝트를 빠르게 파악하는 데 유념해야 할 키워드가 있습니다. 바로, 무엇이 어디에 몇 개나 있는가 입니다. 내가 기존에 진행되던 프로젝트에 투입된다고 하면, 지금까지 설계된 상황을 빨리 파악해야 팀원들과 합을 맞춰 일할 수..
python reduce의 내용을 한 줄로 요약: "reduce는 요약한다" python reduce는 리스트의 여러 원소들이 가진 특성을 하나로 정리해줍니다. 즉, 요약해줍니다. (물론 리스트 뿐만이 아니고 모든 반복 가능한 데이터 형들이 대상입니다.) 특성을 하나로 정리한다는 말이 사실은 엄청 광범위한 말인데, 시각자료로 설명해보겠습니다. 눈이 휘둥그레지는 reduce 세계 reduce의 세계에 오신것을 환영합니다! 이곳은 아주 골 때리고 요절복통인 세계입니다.. 이러한 리스트가 있다고 가정합시다. 7개의 원소가 있는 리스트군요. 그러고 나서 뜬금없이, 2개의 재료를 받아서 짝짜꿍 한 결과를 반환하는 "어떤 함수"를 준비합니다. 아직 질문하지 마세여. 좀 더 보시고 난 담에 질문하시어요. 그다음에 우리는 이런 짓을 할 겁니다. a와 b만 꺼내서 어떤함수에 집어넣고, 짝짜꿍한 ..
파이썬 전치행렬 손수 만드는 법! 전치행렬하나 만들자고 numpy 설치하시나요? numpy는 데이터 처리에 엄청난 능력을 보여주는 라이브러리이지만, 작은 규모의 프로그램을 만드는 상황이나, 그리고 매번 실행환경이 달라져야 하는 코드라면, numpy가 제공하는 함수들을 파이썬 기본 문법으로 해결하고 싶을 때도 생깁니다. 그래서 아주 유용하고 빈번하게 사용되는 전치행렬에 대한 내용을 기본문법으로 구현해 보겠습니다. 전치행렬이 뭔데? 일단 행렬이 뭔지 아시는 것을 가정하고 설명하겠습니다. 행과 열을 뒤바꾸는 것이 전치 행렬인데요. 엑셀로 예를 들어보면 이런 식이 되는거죠. 초록색 데이터는 [1, 2, 3, 4, 5] 로 데이터가 묶였지만 붉은색 데이터는 [1, 6]으로 데이터가 묶여 있죠? 파이썬내장 zip 함수로 전치행렬 만들어보기 이차원행렬 = [ [1,2], [3,4], [5,6] ..
python filter 로 게으르게 커피한잔 하고 가세요! 향이 좋아요! filter라는 함수가 있습니다. 파이썬에만 있는 함수는 아닌데요. 사용법은 다들 유사합니다. 커피필터는 갈아낸 커피가루를 받아들여서 물에 녹는 성분들만 아래로 통과시킵니다. 이를 함수로 나타내면 커피한잔 = 커피필터(수용성성분만_골라냅시다!, 커피가루) 정도가 되겠죠? 원본리스트에서 원하는 부분집합을 추출해주는 함수가 바로 filter() 함수입니다. 추출리스트 = filter(조건, 원본리스트) 아까 커피의 예와 비슷하게 써보면 이렇게 되겠죠? 원본리스트의 원소 중에서 조건을 만족하는 원소만 반환한다. 이렇게 독해하시면 됩니다. 그러면 코드예제를 통해 어떻게 쓰는지 알아봅시다. 커피로 배워보는 filter 함수() 아까 커피의 예를 들어서 설명했으니 컨셉을 계속 끌고 가보도록 하죠. 일단은 커피가 어..
python map 함수의 비정함 프로그래밍을 공부하다보면 생각보다 매 순간이 리스트를 다루는 일의 연속이라는 것을 깨닫게 됩니다. 왜냐? 우리는 컴퓨터로 여러가지의 정보를 한꺼번에 처리하는 것으로써 다루는 도구의 효율을 높이기 때문입니다. 여러가지의 개체를 (예를 들면 회원가입된 여러 사람들의 이메일 주소 목록이라던지, 아니면 모델링 프로그램으로 작성된 수 백개의 기둥형상이라던지) 한꺼번에 계산해서 결국엔 처리결과 라는 새로운 리스트를 만들어 냅니다. 즉, [원본리스트] 에 [어떤 규칙]을 적용해서 [새로운 리스트]를 만들어 낸다 라는 것이죠. 기존방식으로 리스트 처리하기 위에 써진 대로 간단한 코드를 한번 만들어 볼까요? 먼저 숫자 5개가 있는 리스트를 준비합니다. 원본리스트 = [1,2,3,4,5] 그 다음에는 각 원소에다 어떤 규..
정규표현식 잘 몰라도 코드 짤 수 있어요 어.........음... 다만 코드가 엄청나게 길고 복잡해 질 뿐이죠. 네.. 이 말은 정규표현식에 대해 알아야 한다는 말입니다. 그런데 오히려 알아야한다는 말만 많이 듣고, 한두번씩 배움을 미루다 보면 거북하고 거추장스러워서 점점 배우기 싫어집니다. 거추장스러움을 없애기 위한 방법인데 말이죠. /[^a-zA-Z0-9가-힣ㄱ-ㅎ]/g 정규식이라고 해서 검색했는데, 이런 예제를 보고 나면, 암호문을 본 듯한 기분에 일단 쉬고 싶어집니다. 그래서 오늘은 많은 내용들을 손질해서, 먹을 부분만 딱 남겨 보여 드리겠습니다. regex 언제 쓰나? 흔히 regex라고 줄여쓰는 regular expression (정규표현식) 은, 데이터로 들어온 문자열을 판별할때 쓰는데, 우리는 살면서 많은 글자들을 바탕으로 움직..

반응형