본문 바로가기

python

(8)
python - 파이썬 문자열 기본 규칙들 파이썬에서 문자열을 다룰 때 지켜야 하는 몇 가지 기본 규칙이 있습니다. 여기에는 문자열을 정의하는 방법, 특수 문자의 사용, 문자열 연산 및 포매팅에 관한 규칙이 포함됩니다. 문자열 정의 1. 단일 인용부호와 이중 인용부호: 파이썬에서 문자열은 단일 인용부호(')나 이중 인용부호(")를 사용하여 정의할 수 있습니다. 이는 문자열 내부에서 다른 종류의 인용부호를 자유롭게 사용할 수 있게 하기 위함입니다. string1 = 'Hello, World!' string2 = "Python Programming" 2. 여러 줄 문자열: 여러 줄에 걸친 문자열을 정의하려면 삼중 인용부호(''' 또는 """)를 사용합니다. 이 방식을 사용하면 문자열 내에서 여러 줄을 자연스럽게 포함할 수 있습니다. multiline..
python - Python에서 딕셔너리 언패킹(**) 이해하기 Python에서 딕셔너리 언패킹(**) 이해하기 Python 프로그래밍에서 종종 볼 수 있는 ** 연산자는 딕셔너리를 함수의 키워드 인자로 전달하는 데 사용되는 매우 유용한 기능입니다. 이것을 '딕셔너리 언패킹(Dictionary Unpacking)'이라고 합니다. 이 기능은 코드를 더 깔끔하고 읽기 쉽게 만들며, 함수에 다양한 인자를 동적으로 전달할 수 있게 해줍니다. 딕셔너리 언패킹의 기본 딕셔너리 언패킹은 ** 기호를 사용하여 딕셔너리의 키-값 쌍을 함수의 인자로 확장합니다. 예를 들어, my_function(**my_dict)와 같이 사용할 수 있으며, 여기서 my_dict의 모든 키-값 쌍이 my_function의 키워드 인자로 전달됩니다. 예시 사용 사례 OpenAI의 GPT-3.5 API를 ..
Python - 슬라이스 구문 이해하기 Python에서 슬라이스 구문 이해하기 Python은 데이터 컬렉션을 다루는 데 있어 매우 강력하고 유연한 언어입니다. 이러한 유연성 중 하나는 바로 '슬라이스' 기능입니다. 슬라이스를 사용하면 리스트, 문자열, 튜플 등의 시퀀스 데이터에서 원하는 부분을 쉽고 효과적으로 추출할 수 있습니다. 이 글에서는 Python의 슬라이스 구문 a[start:stop:step]을 자세히 살펴보겠습니다. 슬라이스 구문의 구성 Python 슬라이스 구문은 세 가지 주요 구성 요소로 이루어집니다: start: 슬라이싱이 시작되는 인덱스입니다. 이 값이 생략되면 Python은 리스트의 시작점(인덱스 0)에서 슬라이싱을 시작합니다. stop: 슬라이싱이 끝나는 인덱스입니다. 이 값이 생략되면 Python은 리스트의 끝까지 슬..
python - 리스트 컴프리헨션(List Comprehension) 리스트 컴프리헨션(List Comprehension)은 리스트를 생성하는 간결하고 가독성 높은 방법입니다. 기존 리스트에서 새로운 리스트를 생성할 때, 특정 조건에 따라 원소를 선택하거나 변형할 수 있습니다. ### 기본 구조 기본적인 리스트 컴프리헨션의 구조는 다음과 같습니다. ```python [expression for item in iterable if condition] ``` - `expression`: 새로운 리스트의 원소가 될 표현식입니다. - `item`: `iterable`에서 순차적으로 선택되는 각 원소입니다. - `iterable`: 순회할 수 있는 객체(리스트, 튜플, 세트, 딕셔너리, 문자열 등)입니다. - `condition`: 원소를 선택할 조건입니다. 이 조건을 만족하는 원..
python - 람다 함수의 이해 파이썬: 람다 함수의 이해 람다 함수란? 람다 함수(lambda function)는 파이썬에서 간단한 함수를 생성하는 방법 중 하나입니다. 일반적인 함수를 def 키워드를 사용하여 정의하는 것과 달리, 람다 함수는 lambda 키워드를 사용합니다. 람다 함수는 이름을 가지지 않는 "익명의 함수"입니다. 기본 구조 람다 함수의 기본 구조는 다음과 같습니다. lambda arguments: expression arguments: 함수의 입력 인자를 나타냅니다. expression: 인자를 활용한 하나의 표현식을 나타냅니다. 사용 예시 예시 1: 덧셈 함수 일반적인 함수로 덧셈을 하는 경우: def add(x, y): return x + y 람다 함수로 덧셈을 하는 경우: add_lambda = lambda ..
python - Python bisect Python bisect 소개 bisect는 Python에서 이진 검색 알고리즘을 구현한 라이브러리다. 이진 검색 알고리즘을 이용하여 정렬된 리스트에 대해 원소를 삽입하거나 검색하는 작업을 빠르게 처리할 수 있다. 주요 함수로는 bisect_left, bisect_right, insort_left, insort_right 등이 있다. 주요 함수 bisect_left(a, x, lo=0, hi=len(a)) 기능: 정렬된 리스트 a에서 x의 삽입 위치를 찾는다. 동일한 값이 여러 개 있을 경우, 가장 왼쪽 인덱스를 반환한다. 사용 방법: bisect.bisect_left(a, x, lo=0, hi=len(a)) 결과: x의 삽입 위치 인덱스가 반환된다. bisect_right(a, x, lo=0, hi=l..
python - Python heapq Python heapq 소개 heapq는 Python에서 힙(Heap) 자료구조를 구현한 라이브러리다. 힙은 완전 이진 트리의 일종으로, 각 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 최소 힙(Min Heap)과 반대로 각 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 최대 힙(Max Heap)이 있다. Python의 heapq 라이브러리는 최소 힙을 구현한다. 주요 함수 heappush(heap, item) 기능: item을 heap에 삽입한다. 사용 방법: heapq.heappush(heap, item) 결과: heap에 item이 삽입되며, 힙 속성이 유지된다. heappop(heap) 기능: heap에서 가장 작은 원소를 제거하고 반환한다. 사용 방법: heapq.heappop(he..
python - 매직 메서드와 __init__ 함수 파이썬의 매직 메서드와 __init__ 함수 이해하기 파이썬에서는 특정한 기능을 수행하기 위해 사용되는 메서드들이 있는데, 이들을 '매직 메서드' 또는 '스페셜 메서드'라고 부른다. 이러한 메서드들은 함수 이름 양옆에 __ (double underscore)가 붙어 있다. 주로 사용자가 직접 호출하기보다는 파이썬 인터프리터에 의해 자동으로 호출되는 메서드들이다. __init__ 함수란? __init__ 함수는 클래스의 인스턴스가 생성될 때 호출되는 초기화 메서드로, 객체가 생성되고 메모리에 할당된 직후에 실행된다. 이 메서드는 객체의 속성을 설정하거나, 인스턴스의 초기 상태를 정의하는 등 객체 생성 시 필요한 설정 작업을 수행할 수 있다. __init__ 함수 예시 class MyClass: def __..