Python 266

[assert] 가정 설정문

assert 뒤의 조건이 참이 아니면 AssertError를 발생시킨다. 예외를 발생시킨다는 점에서 예외 처리와 비슷하게 생각할 수 있지만, assert는 단순히 예외를 처리하기 위함이 아니라 값을 보증하기 위해 사용한다. 방어적인 프로그램을 작성하기 위해 사용한다. 문법 assert , # 예시 assert False assert False, 'assertError 발생' 에러 메시지는 생략할 수 있다. 참고 문서 https://wikidocs.net/21050 https://engineer-mole.tistory.com/217 https://blockdmask.tistory.com/553

Python 2022.06.03

[import] 모듈 가져오기

모듈 (Module) 함수나 변수 또는 클래스를 모아 놓은 파일 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일 이 글에서는 모듈을 import 하는 방법을 몇 가지 정리한다. import 문 모듈 전체를 가져온다. import # 예시 import itertools import math, sys 여러 모듈을 가져올 때는 모듈을 쉼표로 구분하여 나열한다. 사용할 때는 모듈 뒤에 점을 찍어 원하는 함수, 클래스를 지정한다. import ~ as 문 모듈 이름을 다르게 지정한다. import as # 예시 import itertools as it from ~ import 문 전체 모듈이 아니라 지정한 일부만 가져온다. from import # 예시 from itertools import ..

Python 2022.05.28

[code-server] Command 'Jupyter: Create New Blank Notebook' resulted in an error (command 'jupyter.createnewnotebook' not found)

VSCode 또는 code-server에서 jupyter extension을 설치하면 명령 팔레트에서 "Jupyter: Create New Blank Notebook"를 사용하여 .ipynb 파일을 생성하여 사용할 수 있다. ( 버전에 따라 생성 명령은 조금씩 다른 것 같다. ) 참고 : 2022.04.19 - [VSCode] jupyter notebook 사용 현상 다만, code-server에서 기본 마켓플레이스(open-vsx)를 이용해 python, jupyter extension을 설치하여 사용하려고 하면 아래와 같은 메세지와 함께 .ipynb 파일이 생성되지 않는 현상을 확인했다. 상세 로그는 브라우저 개발자 도구에서 확인할 수 있다. 내 경우에는 code-server 기본 마켓플레이스를 이용..

Python 2022.05.01

[Set] 집합 연산

2021.09.26 - [알고리즘 기초] 동명이인 찾기 / Set 에서 Set의 개념을 간단하게 아래와 같이 정리했었다. [알고리즘 기초] 동명이인 찾기 / Set 여러 사람의 이름이 저장된 리스트에서 동명이인의 이름 집합을 반환하는 문제이다. 집합; Set 리스트와 같이 정보를 여러 개 넣어서 보관하는 자료구조 같은 자료가 중복되어 저장되지 않고, 자 passwd.tistory.com 리스트와 같이 여러 정보를 넣어서 보관하는 자료구조 중복을 허용하지 않고, 자료의 순서가 없다. 여기에 더해서 set은 수학적 개념인 집합을 다룰 수 있는 데이터형이기도 한다. 집합과 명제할 때 그 집합 맞다. 따라서 이 글에서는 수학에서의 집합 개념을 python set으로 다룰 때 사용하는 연산, 함수 등을 정리해두려..

Python 2022.04.30

[code-server] 확장 프로그램(extension) 수동 설치

code-server https://coder.com/ Github : https://github.com/coder/code-server VS Code를 브라우저를 통해 접근하고 실행할 수 있도록 개발된 오픈 소스 Electron 기반의 오픈소스로 개발된 소스코드 에디터 VS Code를 Node.js를 통해 Sever에 올리고 크롬 기반의 브라우저를 통해 실행하여 사용할 수 있도록 한다. Extension marketplace VS Code 자체는 오픈 소스이지만, 마이크로소프트의 확장 프로그램 마켓플레이스와 확장 프로그램은 오픈 소스가 아니다. 무엇보다 마이크로소프트는 타사의 VS Code(code-server가 해당된다.)를 사용해 마켓플레이스에 접근하는 것을 서비스 약관으로 금지하고 있다. 따라서 ..

Python 2022.04.23

[Python] 익명 함수 - lambda 표현식

def 리터럴 표기법에 따라 함수를 생성할 때 사용되는 키워드 def 키워드는 함수 클래스를 통해 함수 객체를 생성하고, 객체를 함수 이름과 같은 변수에 담는 과정을 담당한다. 변수에 담긴 함수 객체는 메모리에 올라가서 호출을 대기하는데, 이는 한 번만 사용될 함수라면 메모리 낭비에 해당된다. 한 번만 사용될 함수라면 익명함수를 사용하는 것이 좋다. 익명 함수 이름이 없는 함수를 뜻하며, Python에서는 lambda라는 키워드를 이용해 익명 함수를 정의할 수 있다. 이름이 없어 재사용이 불가능하다. 다만 일반 함수와 동일하게 변수에 할당될 수 있기 때문에, 변수에 저장된 lambda 함수는 재사용이 가능하다. lambda lambda 키워드를 이용한 함수는 람다 함수 또는 람다 표현식이라고 한다. la..

Python 2022.04.20

[VSCode] jupyter notebook 사용

VSCode는 python 개발 환경으로 많이 사용되지만, 데이터 분석 관련으로는 아무래도 jupyter notebook과 jupyterlab이 많이 사용된다. 즉, jupyter notebook도 새로 설치를 하게 되는데, VScode의 관련 확장 프로그램 몇 가지를 설치하면 VSCode 상에서도 jupyter notebook을 사용할 수 있게 된다. 설정 방법을 정리해둔다. 방법 1. VSCode 설치 아래의 링크에서 환경에 맞는 버전을 다운받아 설치한다. https://code.visualstudio.com/download Download Visual Studio Code - Mac, Linux, Windows Visual Studio Code is free and available on your ..

Python 2022.04.19

[Conda] 개념 및 기본 명령어

conda Python, R, Ruby, Lua, Scala, Java, Javascript, C/C++. FORTRAN 등 언어의 의존성과 패키지, 환경을 관리하는 도구 Windows, macOS 및 Linux에서 실행할 수 있는 오픈 소스 패키지 및 환경 관리 시스템 환경을 쉽게 생성하고, 전환할 수 있으며 패키지와 의존성 패키지를 설치하고 업데이트할 수 있다. 또한 소프트웨어를 패키징하고 배포할 수도 있다. 기본적으로 repo.anaconda.com에 저장된 패키지를 설치하고 관리한다. Conda는 Anaconda와 Miniconda에 포함되어 있으며, conda-forge에서도 사용할 수 있다. Anaconda 머신러닝이나 데이터 분석 등에 사용하는 패키지가 기본적으로 포함되어 있는 파이썬 배포판..

Python 2022.04.13

[filter] 문자열에서 알파벳 추출

문자열 데이터에서 알파벳만 추출하려고 한다. Python 내장 함수 중 하나인 filter 함수를 사용해서 처리해보고자 한다. filter 여러 개의 데이터로부터 특정 데이터만 추릴 때 사용하는 함수로, 주로 list나 tuple을 대상으로 사용한다. filter(function, iterable) function은 데이터를 추리는 조건에 해당하는 함수이다. 직접 정의해서 사용해도 되지만 lambda 함수를 활용할 수도 있다. iterable에는 순회할 수 있는 데이터가 들어간다. list, tuple, set, string 등이 해당될 수 있다. 예시) inp = "abcd123456efghi!@#$" print(filter(str.isalpha, inp)) for i in filter(str.isal..

Python 2022.04.12

[sort] 문자열 사전 역순으로 정렬하기

Python에서 리스트를 정렬할 때 사용할 수 있는 list.sort()와 sorted()는 기본적으로 오름차순으로 리스트를 정렬한다. 오름차순/사전 순 정렬 print(sorted([3, 5, 4, 2, 1])) print(sorted(['b', 'a', 'z', 'v', 'm'])) 숫자는 오름차순으로, 문자는 사전 순으로 정렬된 모습을 확인할 수 있다. 따라서 문자나 문자열을 사전 역순으로 정렬할 때는 정렬된 리스트를 뒤집어주면 된다. list.sort()와 sorted() 모두 bool 형의 reverse 매개변수를 전달받는 것을 이용한다. 내림차순/사전 역순 정렬 print(sorted([3, 5, 4, 2, 1], reverse=True)) print(sorted(['b', 'a', 'z', ..

Python 2022.04.10