본문 바로가기

파이썬16

파이썬 - 데코레이터(Decorator)의 이해와 구현 데코레이터의 본질파이썬 데코레이터는 코드를 간결하고 재사용 가능하게 만드는 강력한 도구다.데코레이터의 핵심 아이디어는 기존 함수나 클래스를 수정하지 않고도 그 동작을 확장하거나 변경할 수 있다는 점이다.이는 개방-폐쇄 원칙(Open-Closed Principle)을 따르는 우아한 방법으로, 코드의 유지보수성과 확장성을 크게 향상시킨다.데코레이터는 '@' 기호를 사용하여 함수나 클래스 위에 선언된다. 이 간단한 구문은 복잡한 로직을 숨기고, 코드의 가독성을 높이는 역할을 한다.데코레이터의 작동 원리를 이해하기 위해서는 파이썬의 일급 객체(First-Class Objects) 개념을 알아야 한다.일급 객체로서의 함수파이썬에서 함수는 일급 객체다. 이는 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나.. 2024. 12. 1.
파이썬 문자열 포매팅: f-string, str.format(), % 연산자 비교 문자열 포매팅의 중요성프로그래밍에서 문자열 포매팅은 매우 중요한 기능이다.데이터를 사용자에게 보여주거나, 로그를 작성하거나, 다양한 출력 형식을 만들 때 필수적으로 사용된다.파이썬은 여러 가지 문자열 포매팅 방식을 제공하며, 각각의 방식은 고유한 특징과 장단점을 가지고 있다.% 연산자를 이용한 문자열 포매팅% 연산자는 파이썬의 가장 오래된 문자열 포매팅 방식 중 하나다.C 언어의 printf 스타일과 유사하여 다른 언어에서 넘어온 개발자들에게 친숙할 수 있다.기본 사용법name = "Alice"age = 30print("My name is %s and I'm %d years old." % (name, age))장점간단하고 직관적인 구문다른 언어에서 온 개발자들에게 익숙함단점복잡한 포매팅에서 가독성이 떨어.. 2024. 11. 30.
파이썬 - 불변(Immutable)과 가변(Mutable) 객체 1. 불변과 가변 객체의 개념파이썬에서 모든 데이터는 객체로 취급된다. 이 객체들은 크게 두 가지 범주로 나눌 수 있다: 불변(Immutable) 객체와 가변(Mutable) 객체. 이 두 종류의 객체는 메모리 관리와 데이터 조작 방식에서 근본적인 차이를 보인다.2. 불변(Immutable) 객체불변 객체는 한 번 생성된 후에는 그 내용을 변경할 수 없는 객체를 말한다. 파이썬에서 대표적인 불변 객체로는 정수(int), 부동소수점(float), 문자열(str), 튜플(tuple), 불리언(bool) 등이 있다. 이러한 객체들은 한 번 생성되면 그 값을 직접적으로 수정할 수 없다.예를 들어, 문자열을 살펴보자.s = "Hello"s[0] = "h" # TypeError: 'str' object does .. 2024. 11. 29.
파이썬 - Set Intro파이썬의 집합(Set)은 수학적 집합 개념을 구현한 자료구조로, 중복되지 않은 요소들의 모음이다.집합은 리스트나 튜플과 달리 순서가 없고, 인덱싱을 지원하지 않는다.하지만 빠른 멤버십 테스트와 중복 제거 기능으로 많은 상황에서 유용하게 사용된다. 1. 집합 생성집합을 생성하는 방법은 여러 가지가 있다.a) 중괄호 사용my_set = {1, 2, 3, 4, 5}b) set() 함수 사용my_set = set([1, 2, 3, 4, 5])c) 집합 컴프리헨션my_set = {x for x in range(10) if x % 2 == 0} 주의할 점은 빈 집합을 생성할 때 중괄호만 사용하면 딕셔너리가 생성된다.빈 집합을 만들려면 set() 함수를 사용해야 한다.empty_set = set() # 빈.. 2024. 11. 29.
파이썬 - 딕셔너리 Intro파이썬의 딕셔너리는 키-값 쌍을 저장하는 강력한 자료구조다. 기본적인 사용법을 넘어, 딕셔너리의 고급 기능과 메서드를 이해하면 더욱 효율적이고 우아한 코드를 작성할 수 있다. 1. 딕셔너리 생성 방법딕셔너리를 생성하는 여러 방법이 있다.a) 중괄호 사용my_dict = {'key1': 'value1', 'key2': 'value2'}b) dict() 생성자 사용my_dict = dict(key1='value1', key2='value2')c) 리스트의 튜플로부터 생성items = [('key1', 'value1'), ('key2', 'value2')]my_dict = dict(items)d) 딕셔너리 컴프리헨션my_dict = {x: x**2 for x in range(5)}2. 주요 딕셔너리 .. 2024. 11. 29.
파이썬 - 제너레이터 제너레이터의 정의와 기본 개념제너레이터는 파이썬에서 이터레이터(iterator)를 생성하는 함수다.일반 함수와 달리 yield 문을 사용하여 데이터를 하나씩 반환한다.이는 모든 결과를 메모리에 저장하지 않고, 필요할 때마다 값을 생성할 수 있게 해준다.제너레이터 함수가 호출되면, 함수 본문이 즉시 실행되지 않는다. 대신, 제너레이터 객체가 반환된다.이 객체의 next() 메서드가 호출될 때마다 함수는 다음 yield 문까지 실행되고, 해당 값을 반환한다.간단한 제너레이터 함수의 예시def simple_generator(): yield 1 yield 2 yield 3gen = simple_generator()print(next(gen)) # 출력: 1print(next(gen)) # 출.. 2024. 11. 28.