Python

80 posts
파이썬에서 데이터 타입 확인하기

파이썬에서 데이터 타입 확인하기

객체 지향 프로그래밍 언어인 파이썬에서 모든 데이터는 결국 객체라고 볼 수 있습니다. 우리가 작성한 클래스의 인스턴스 뿐만 아니라, 심지어 함수, 문자열, 정수, 실수도 결국 타입을 가집니다. 이번 포스팅에서는 파이썬에서 데이터 타입을 확인할 수 있는 몇 가지 방법을 알아보도록 하겠습니다. __class__ 속성 파이썬에서 모든 객체는 __class__라는 특별한 속성을 가지는데요. 여기에는 해당 객체의 데이터 타입이 저장이 되어 있습니다. 예를 들어, 변수 a에 정수 1을 저장하고, a.__class__를 출력해보겠습니다. 정수의

파이썬에서 캐시 적용하기 (@cache, @lru_cache)

파이썬에서 캐시 적용하기 (@cache, @lru_cache)

하드웨어와 소프트웨어를 불문하고 Caching(캐싱)은 정말 광범위하게 다양한 형태로 활용되고 있는 성능 최적화 기법입니다. 이번 포스팅에서는 파이썬으로 프로그래밍할 때는 어떻게 캐시를 적용할 수 있는지 알아보도록 하겠습니다. 캐싱이란? 먼저 프로그래밍 입문자 분들을 위해서 캐싱에 대해서 간단히 개념은 짚고 넘어가는 게 좋을 것 같습니다. 일반적으로 캐싱은 접근하는데 시간이 오래 걸리는 데이터를 접근 속도가 빠른 저장소에 사본을 저장해두고 재사용하거나, 실행하는데 오래 걸리는 연산의 결과를 미리 계산해놓고 최초로 필요할 때 한번만

파이썬의 yield 키워드와 제너레이터(generator)

파이썬의 yield 키워드와 제너레이터(generator)

다른 프로그래밍 언어에서 넘어오신 개발자 분들께서 파이썬의 yield 키워드 때문에 당혹스러워하시는 것을 종종 목격하게 되는데요. 이번 포스팅에서는 파이썬에서 제네레이터(generator)를 만드는데 사용되는 yield 키워드에 대해서 예제를 통해서 이해하기 쉽게 설명드리겠습니다. yield 키워드 대부분의 프로그래밍 언어에서 일반적으로 함수는 어떤 결과 값을 return 키워드를 이용해서 반환을 하는데요. 하지만 파이썬에서는 함수가 yield 키워드를 이용해서 다소 다른 방식으로 결과 값을 제공할 수 있습니다. 장황한 설명보다는

파이썬에서 복잡한 리스트 출력하기

파이썬에서 복잡한 리스트 출력하기

파이썬에서 리스트(list)를 콘솔에 출력할 때 보통 print() 함수를 사용하게 되는데요. 예를 들어, 10개의 숫자를 담고 있는 간단한 리스트는 다음과 같이 출력할 수 있습니다. 하지만 리스트가 많은 양의 데이터를 담고 있거나 리스트의 구조가 복잡할 경우에는 이런 식으로 출력하면 상당히 보기가 어려워지죠? 😵‍💫 예를 들어, 파이썬의 꽃이라고 불리우는 표현식(list comprehension) 문법을 사용해서, 100개의 숫자를 10개씩 이차원 리스트로 만들고 출력해보겠습니다. 이번 포스팅에서는 위와 같이 복잡한 리스트를

[파이썬] 내장 함수 dir 사용법

[파이썬] 내장 함수 dir 사용법

이번 포스팅에서는 네임 스페이스를 들여다보고 싶을 때 요긴하게 쓸 수 있는 dir() 내장 함수에 대해서 알아보겠습니다. 네임 스페이스와 dir() 함수 파이썬에는 다른 언어와 비슷하게 소위 네임 스페이스(name space)라는 개념이 있는데요. 변수명이나 함수명 그리고 클래스의 이름을 언어 차원에서 관리해주는 매커니즘이라고 생각하시면 편할 것 같습니다. dir()은 네임 스페이스에 등록되어 있는 모든 이름들을 리스트로 반환해주는 파이썬의 내장 함수입니다. 예를 들어, 변수 A와 B를 선언 후 dir() 함수를 호출해보겠습니다.

파이썬의 f-string으로 문자열 포맷팅하기

파이썬의 f-string으로 문자열 포맷팅하기

파이썬 3.6에서 소위 f-string이라고 불리는 문자열을 좀 더 쉽게 포맷팅하기 위한 새로운 방법이 추가되었는데요. 이번 포스팅에서는 간결하고 읽기 편한 문법으로 많은 파이썬 개발자들에게 사랑받고 있는 이 f-string에 대해서 살펴보겠습니다. 기본 문법 파이썬에서 문자열은 아시는 것처럼 홈 따옴표나 쌍 따움표를 이용해서 나타내죠? 이러한 일반적인 문자열 앞에 f 또는 F 문자만 붙여주면 f-string이 됩니다. 변수 치환 중괄호(brace)을 사용하면 f-string 안 에 파이썬의 표현식(expression)을 삽입할 수

파이썬의 enumerate() 내장 함수로 for 루프 돌리기

파이썬의 enumerate() 내장 함수로 for 루프 돌리기

많은 프로그래밍 언어들에서 i, j, k와 같은 소위 인덱스(index) 변수를 증가시키면서 for 루프를 돌리지요? 하지만 파이썬에서는 enumerate()라는 내장 함수를 통해 이러한 인덱스 변수를 사용하지 않고 루프를 돌리는 방식이 선호되며 이런 코딩 스타일을 소위 Pythonic, 즉 파이썬 답다고 하죠. 이번 글에서는 파이썬의 enumerate() 함수에 대해서 알아보도록 하겠습니다. for 루프 먼저 파이썬에서 for 문을 사용해서 루프를 돌리는 가장 기본적인 방법부터 짚고 넘어가겠습니다. 파이썬에서는 for 루프는 기본

파이썬의 zip() 내장 함수로 데이터 엮기

파이썬의 zip() 내장 함수로 데이터 엮기

마치 옷의 지퍼(zipper)처럼 두 그룹의 데이터를 서로 엮어주는 파이썬의 내장 함수 zip()에 대해서 알아보도록 하겠습니다. zip() 기본 문법 zip() 함수는 여러 개의 순회 가능한(iterable) 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플의 형태로 차례로 접근할 수 있는 반복자(iterator)를 반환합니다. 설명이 좀 어렵게 들릴 수도 있는데요. 간단한 예제를 보면 이해가 쉬우실 겁니다. 위 코드를 보면 numbers 리스트와 letters 리스트를 zip() 함수에 인자로 넘겨서 호출 후에, for 문

파이썬에서 requests 라이브러리로 원격 API 호출하기

파이썬에서 requests 라이브러리로 원격 API 호출하기

requests는 파이썬으로 HTTP 통신이 필요한 프로그램을 작성할 때 가장 많이 사용되는 라이브러리입니다. 특히 원격에 있는 API를 호출할 때 유용하게 사용할 수 있는데요. 이번 포스팅에서는 requests 라이브러리를 사용하는 방법에 대해서 알아보겠습니다. 패키지 설치 파이썬의 패키지 매니저인 pip를 이용해서 requests 패키지을 설치합니다. 설치가 잘 되었는지 파이썬 인터프리터를 실행하여 확인해봅니다. requests 라이브러리로 구글에 접속을 해보니 상태 코드 200이 응답이 되는 것을 볼 수 있습니다. 🎉 API

pre-commit 도구로 Git Hook 사용하기

pre-commit 도구로 Git Hook 사용하기

Git의 pre-commit 훅(hook)은 우리가 작성한 코드를 커밋할 때 마다 자동으로 특정 작업을 실행해줍니다. 많은 프로젝트들이 이를 통해 포맷터(formatter)를 실행하여 코드 스타일을 통일하고, 린터(linter)를 실행하여 코드에 잠재하고 있는 문제들을 찾아냅니다. 이번 포스팅에서는 Git의 pre-commit hook을 편리하게 사용할 수 있도록 도와주는 pre-commit라는 도구에 대해서 알아보겠습니다. 설치 pre-commit은 자신의 컴퓨터에 파이썬이 설치가 되어 있다면 파이썬의 패키지 매니저인 pip를 사

이진 탐색(Binary Search) 알고리즘

이진 탐색(Binary Search) 알고리즘

정렬된 데이터를 검색할 때 가장 널리 사용되는 이분 탐색(binary search)에 대해서 알아보겠습니다. 알고달레에서 코딩 테스트/인터뷰 준비에 좀 더 특화된 컨텐츠를 만나보세요! 📝 기본 개념 책으로된 영어 사전(요즘은 거의 안 쓰죠? 😓)에서 단어를 찾거나 지역 업소록에서 상호명을 어떻게 찾으시나요? 수백, 수천 페이지가 되는 이러한 책을 맨 첫 페이지부터 한 장씩 넘기면서 찾으시는 분들은 아마 없으실 것입니다. 보통은 대강 중간 쯤 어딘가를 어림잡아서 페이지를 펼쳐본 후에 찾으려는 단어나 업소명과 비교하면서 검색 범위를

파이썬 사전(dictionary) 완벽 가이드

파이썬 사전(dictionary) 완벽 가이드

사전(dictionary)은 파이썬에서 리스트(list)와 더불어 가장 널리 사용되는 내장 자료형입니다. 하지만 너무 기본적인 기능이다 보니 오히려 이 중요한 자료형의 사용법을 제대로 익히지 않고 넘어가기 쉬운 것 같아요. 이번 포스팅에서는 파이썬에서 사전을 어떻게 사용하는지에 대해서 차근차근 알아보도록 하겠습니다. 참고로 리스트(list)에 대해서는 별도의 포스팅에서 아주 자세히 다루고 있습니다! 사전의 특징 해시 테이블(hash table)이라는 자료구조를 기반으로 하는 사전은 키(key)와 값(value)으로 이루어진 여러 쌍

[파이썬] 정적(static) 메서드와 클래스(class) 메서드

[파이썬] 정적(static) 메서드와 클래스(class) 메서드

이번 포스팅에서는 파이썬의 정적(static) 메서드와 클래스(class) 메서드에 대해서 알아보겠습니다. 인스턴스(instance) 메서드 정적(static) 메서드와 클래스(class) 메서드에 대해서 살펴보기 전에 가장 기본이 되는 인스턴스(instance) 메서드에 대해서 먼저 짚고 넘어가는 게 좋을 것 같습니다. 클래스에 아무 데코레이터(decorator) 없이 메서드를 선언하면 해당 메서드는 인스턴스 메서드로 취급이 되며, 첫번째 매개 변수로 클래스의 인스턴스가 넘어오게 됩니다. 이 첫번째 매개 변수의 이름은 보통 관행적

파이썬의 datetime 모듈로 날짜/시간 처리하기

파이썬의 datetime 모듈로 날짜/시간 처리하기

어떤 언어를 사용하든지 프로그래밍을 하면서 날짜와 시간 처리는 피하기 어려운 부분입니다. 파이썬은 내장 모듈인 datetime을 통해서 어떻게 날짜와 시간 데이터를 처리를 지원하고 있는지 알아보겠습니다. timedelta datetime 내장 모듈의 timedelta 클래스는 기간을 표현하기 위해서 사용됩니다. timedelta 클래스의 생성자는 주, 일, 시, 분, 초, 밀리 초, 마이크로 초를 인자로 받습니다. timedelta 객체는 내부적으로 일, 초, 마이크로 초 단위만 저장하기 때문에 위와 같이 해당 정보만 표시됩니다.

파이썬 enum 타입 사용법

파이썬 enum 타입 사용법

파이썬은 버전 3.4부터 다른 언어들 처럼 enum(enumeration, 이넘) 타입을 지원하고 있습니다. enum은 일반적으로 서로 관련이 있는 여러 개의 상수의 집합을 정의할 때 사용되는데요. enum 클래스를 사용하면 인스턴스의 종류를 제한할 수 있기 때문에 견고한 프로그램을 작성하는데 도움이 됩니다. 클래스 타입 정의 간단한 예로, 웹에서 사용되는 대표적인 3개의 기술(HTML, CSS, JS)을 나타내는 enum 클래스를 작성해보겠습니다. enum 내장 모듈로 부터 불러온 Enum 클래스를 확장하여 Skill 타입을 만들

파이썬에서 큐(queue) 자료구조 사용하기

파이썬에서 큐(queue) 자료구조 사용하기

큐(queue)는 선입선출, FIFO(First In First Out) 기반의 매우 유명한 자료구조입니다. 큐를 사용하면 데이터를 추가한 순서대로 제거할 수 있기 때문에 비동기 메세징(asynchronous messaging), 스트리밍(streaming), 너비 우선 탐색(breath first search) 등 소프트웨어 개발에서 널리 응용되고 있습니다. 이번 포스팅에서는 파이썬에서 큐 자료구조를 어떻게 사용할 수 있는지 알아보도록 하겠습니다. list 파이썬에서 큐를 사용하는 가장 간단한 방법은 범용 자료구조인 list를 사

파이썬의 typing 내장 모듈로 타입 표시하기

파이썬의 typing 내장 모듈로 타입 표시하기

타입 힌트(type hint)를 언어 차원에서 지원하기 위해서 파이썬 버전 3.5에서 typing 모듈이 표준 라이브러리에 추가되었습니다. 이번 포스팅에서는 typing 모듈을 사용해서 파이썬 코드에 타입 어노테이션을 추가하는 방법에 대해서 알아보겠습니다. 파이썬의 타입 어노테이션에 대한 자세한 설명은 관련 포스팅를 참고 바랍니다. List, Dict, Tuple, Set 타입 어노테이션을 사용하다 보면 리스트, 사전, 튜플, 세트와 같은 파이썬에 내장된 자료구조에 대한 타입을 명시해야 할 때가 있습니다. 이때 그냥, list, d

파이썬 타입 검사기 Mypy 사용법

파이썬 타입 검사기 Mypy 사용법

파이썬 버전 3.5에 추가된 타입 어노테이션(type annotation) 덕분에 정적 타입 검사(static type checking)를 통해 좀 더 견고한 프로그램 개발이 가능해졌습니다. 이번 포스팅에서는 파이썬에서 타입 검사기(type checker)로 가장 많이 사용되는 도구인 Mypy에 대해서 간단한 실습을 통해서 알아보도록 하겠습니다. 타입 어노테이션 / 타입 체크 파이썬과 같이 동적(dynamic) 프로그래밍 언어에서 정적(static) 타입 체크가 왠 말이냐고 하시는 분들이 있으실 것 같은데요. 물론, 파이썬의 동적

파이썬의 타입 어노테이션과 힌트

파이썬의 타입 어노테이션과 힌트

파이썬 버전 3.5에 추가된 타입 어노테이션(type annotation)이 점점 많은 파이썬 프로젝트에서 사용되고 있는 추세입니다. 정적(static) 프로그래밍 언어에서 흔히 볼 수 있는 타입 체킹(type checking)도 아니고 파이썬의 타입 힌팅(type hinting)는 도대체 무엇일까요? 이번 포스팅에서는 파이썬에서 타입 힌팅(type hinting)의 개념과 파이썬 코드에 타입 어노테이션(type annotation)을 어떻게 추가하는지 알아보겠습니다. 파이썬은 동적 프로그래밍 언어 동적(dynamic) 프로그래밍

파이썬 데코레이터 기본 사용법

파이썬 데코레이터 기본 사용법

데코레이터(decorator)는 함수를 매개변수로 받아 새로운 함수를 반환하는 함수입니다. 데코레이터를 활용하면 함수의 코드를 수정하지 않고도, 부가적인 기능을 추가하거나 작동 방식을 변경할 수 있죠. 이 블로그 글에서는 파이썬에서 데코레이터를 사용하는 기본적인 방법에 대해서 실습을 통해 알아보겠습니다. 간단한 데코레이터 작성해보기 "Hi!"를 콘솔에 출력하는 say_hi()라는 함수를 작성하고 호출해보겠습니다. 다음으로 함수 호출 전/후로 "before"과 "after"라는 로그(log)를 추가해주는 매우 간단한 데코레이터 함수

Discord