파이썬 3

큰 숫자를 사용할 때 읽기 쉽게 언더바 (_) 사용하기

Underscores in Numeric Literals 파이썬 3.6 부터 새로 추가된 Underscores in Numeric Literals 기능을 소개하고자 한다 (https://peps.python.org/pep-0515/ ) 아주 간단한 기능인데, 쉽게 말하면 긴 숫자를 적을 때 콤마 부분을 언더바로 대신할 수 있는 기능이다. 예를 들어 1000000 같은 경우, 1_000_000 으로 표현할 수 있다. 예시) 참고로 언더바는 인터프리터에서 마지막 값을 저장하고 싶을 때 사용할 수도 있다.

파이썬 2022.08.20

파이썬 dataclass란? (@dataclass, 데이터클래스)

dataclass란? 파이썬 3.7부터 dataclass라는 모듈이 추가되었다. 말 그대로 데이터를 담는 클래스이고, import 후에 @dataclass 라는 데코레이터를 사용하면 된다. 기존의 방식으로 클래스를 사용하는 것과 비교했을 때, dataclass가 가지는 몇 가지 장점들이 있다. 이번 포스트에서는 dataclass의 사용법과 편리한 점들을 정리해보겠다. dataclass 사용법 - 아이스크림 정보를 담는 클래스를 예시로 기존의 클래스와 데이터클래스를 비교해보자. 그냥 클래스를 사용해서 아이스크림을 만들 때: import random import string def generate_id() -> str: return "".join(random.choices(string.ascii_upperc..

파이썬 2022.06.06

파이썬 Global Interpreter Lock (GIL) - 1

GIL - GIL의 필요성 GIL의 필요성을 이해하려면 우선 스레드에 대해서 이해하고 있어야합니다. 스레드가 가지고 있는 어떤 특성 때문에 어떤 현상이 발생하고, 이 현상을 방지하기 위해 GIL이 도입되었기 때문입니다. 간단한 비유를 들어서 설명해보겠습니다. 위의 상황처럼 열 명의 사람들이 눈치게임을 하고 있습니다. 눈치게임은 말 그대로 눈치를 보다가 동시에 같은 숫자를 외치는 사람이 있으면 그 둘이 걸리는 게임이죠. 원래 눈치게임은 게임을 끝내야 하니까 끝까지 동시에 번호를 외치는 사람이 없으면 번호를 안 외친 마지막 사람이 걸리는데 이런 룰이 없이, 10명이 아무도 겹치지 않고 끝까지 번호를 각각 외치면 되는 게임이라고 생각해봅시다! 이 게임이 무리없이 잘 돌아갈까요? 번호를 외칠 순서도 정해져있지 ..

파이썬 2022.05.01