파이썬/Basic
파이썬 디스크립터란?
파이썬에서 디스크립터는 클래스를 통해 속성(attribute) 접근을 제어하기 위한 프로토콜(Protocol)입니다. 디스크립터는 클래스 내에 get, set, delete 메소드를 구현하여, 속성의 값을 읽거나 쓰거나 삭제하기 전에 추가적인 로직을 수행할 수 있도록 합니다. 디스크립터의 종류 파이썬에서는 디스크립터를 세 가지 종류로 구분합니다. 각각은 다음과 같습니다. 데이터 디스크립터(Data Descriptor) 비데이터 디스크립터(Non-Data Descriptor) 클래스 디스크립터(Class Descriptor) 1. 데이터 디스크립터(Data Descriptor) 데이터 디스크립터는 __get__과 set 메소드를 모두 구현한 디스크립터입니다. 이 디스크립터를 사용하면 속성의 값을 읽거나 쓸..
파이썬 함수에 대한 4가지 고급 트릭
파이썬은 조건문, 반복문, 예외처리를 이용하여 프로그래밍을 할 수 있습니다. 이 글에서는 파이썬에서 조건문, 반복문, 예외처리를 사용하는 방법에 대해 자세히 알아보겠습니다. 1. 키워드 아규먼트 강제하기 키워드 인수에는 인자를 순서에 따라 넘겨줘야 하는 불편함을 없애주고, 명명된 인수를 사용함으로써 가독성을 높이는 장점이 있습니다. 파이썬에서는 PEP 3202에서 설명하는 것처럼 키워드 아규먼트를 강제할 수 있습니다. 이에 대한 예시는 다음과 같습니다. def f(*, a, b): print(a, b) f(1, 2) # TypeError: f() takes 0 positional arguments but 2 were given f(a=1, b=2) # 1 2 2. 함수 언패킹을 위해 * 와 ** 사용하기..
파이썬에서 알아두면 유용한 기능들
1. Function 속성(attribute) 클래스 및 개체의 속성을 설정하는 방법과 유사하게 함수에도 속성을 설정할 수 있습니다. def func(x): intermediate_var = x**2 + x + 1 if intermediate_var % 2: y = intermediate_var ** 3 else: y = intermediate_var **3 + 1 # setting attributes here func.optional_return = intermediate_var func.is_awesome = 'Yes, my function is awesome.' return y y = func(3) print('Final answer is', y) # Accessing function attribu..
파이썬에서 람다식(Lambda Expression) 사용하기
람다식은 파이썬에서 함수를 간단하게 표현하는 방법 중 하나입니다. 람다식은 lambda 키워드를 사용하여 정의할 수 있습니다. 일반적인 함수와 다르게 이름이 없고, 한 줄로 작성됩니다. 람다식의 기본 구조 람다식은 다음과 같은 기본 구조를 가집니다. lambda arguments: expression 위 구조에서 arguments는 람다식의 인자를 나타내며, expression은 람다식의 반환값을 나타냅니다. 예를 들어, 다음과 같은 람다식을 작성할 수 있습니다. lambda x, y: x + y 위 람다식은 두 개의 인자를 받아서 더한 값을 반환합니다. 람다식의 사용 예시 람다식은 주로 함수를 간단하게 표현하는 데 사용됩니다. 예를 들어, 다음과 같은 리스트가 있다고 가정해보겠습니다. my_list =..
파이썬 match-case 문
파이썬 3.10부터 match-case문이 도입되었습니다. match-case문은 switch-case문과 유사한 기능을 합니다. 하지만 switch-case문과는 몇 가지 차이점이 있습니다. 1. 패턴 매칭 match-case문은 패턴 매칭을 지원합니다. 이는 일련의 조건문을 작성하는 대신 하나의 match문 안에서 여러 패턴을 정의하여 코드를 간결하게 작성할 수 있습니다. 예를 들어, 다음과 같은 리스트가 있다고 가정합니다. fruits = ['apple', 'banana', 'orange'] 이 리스트의 각 항목에 대해 다른 동작을 수행하려면 switch-case문을 다음과 같이 작성할 수 있습니다. for fruit in fruits: switch(fruit): case 'apple': print..
파이썬의 자료형
파이썬은 여러 가지 자료형을 지원합니다. 이번 글에서는 파이썬의 기본 자료형과 각각의 특징에 대해 자세히 알아보겠습니다. 1. 숫자형 (Numeric Types) 파이썬은 정수형 (int), 실수형 (float), 복소수형 (complex)을 지원합니다. 정수형과 실수형은 숫자를 표현하는 데 사용됩니다. 복소수형은 실수와 허수의 합으로 이루어진 복소수를 표현하는 데 사용됩니다. 1-1. 정수형 (int) 파이썬에서는 정수형을 나타내는 int 자료형을 지원합니다. int는 양수, 음수, 0을 모두 포함합니다. 파이썬에서는 큰 수도 자유롭게 다룰 수 있습니다. a = 123 b = -178 c = 0 1-2. 실수형 (float) 파이썬에서는 실수형을 나타내는 float 자료형을 지원합니다. float는 소..
파이썬 모듈 : Random 랜덤
파이썬에서는 random 모듈을 이용하여 랜덤한 값을 생성할 수 있습니다. random 모듈은 숫자, 시퀀스, 난수 생성 등 다양한 기능을 제공합니다. random 모듈 사용하기 먼저, random 모듈을 사용하기 위해서는 다음과 같이 import 구문을 작성해야 합니다. import random random() 함수 random() 함수는 0 이상 1 미만의 실수(float) 값을 반환합니다. 이 함수는 균등 분포(uniform distribution)에서 랜덤한 값을 추출합니다. import random print(random.random()) 위 코드를 실행하면 0 이상 1 미만의 랜덤한 float 값이 출력됩니다. randint() 함수 randint(a, b) 함수는 a 이상 b 이하의 정수(i..
파이썬 Numpy 모듈
Numpy(넘파이)는 파이썬에서 수학적인 연산을 수행할 때 자주 사용되는 모듈입니다. Numpy를 사용하면 다차원 배열을 효율적으로 다룰 수 있으며, 다양한 수학 함수를 제공합니다. 이번 글에서는 Numpy 모듈의 주요 기능에 대해 자세히 알아보겠습니다. Numpy 배열 만들기 Numpy 배열은 numpy 모듈의 array() 함수를 사용하여 만들 수 있습니다. array() 함수는 리스트나 튜플과 같은 시퀀스 자료형을 인자로 받아서 Numpy 배열을 반환합니다. 예를 들어, 다음과 같은 코드는 1차원 Numpy 배열을 만듭니다. import numpy as np # 1차원 Numpy 배열 만들기 a = np.array([1, 2, 3, 4, 5]) print(a) 출력 결과는 다음과 같습니다. [1 2..