본문 바로가기

전체 글

(111)
[파이썬] split() 함수 사용법 split() 함수는 문자열을 특정 구분자를 기준으로 나누는 함수입니다. 이 함수는 문자열을 분할하여 새로운 리스트 객체를 반환합니다. 함수의 기본 구문은 다음과 같습니다. 1. 기본 예제 string.split(separator, maxsplit) 여기서, string은 분할하고자 하는 문자열이고, separator는 분할 기준이 되는 문자열(혹은 문자)입니다. maxsplit은 분할할 최대 횟수를 나타내는 정수이며, 생략 가능합니다. separator는 기본적으로 공백 문자(스페이스, 탭, 개행 등)입니다. 따라서, 문자열에서 공백 문자를 기준으로 분할하고자 할 경우, split() 함수를 호출하면 됩니다. 다음은 split() 함수를 사용한 예시입니다. text = "Hello, World!" wo..
[파이썬] Pydantic 사용법 Pydantic은 Python 데이터 유효성 검사 라이브러리입니다. Pydantic을 사용하면 Python 데이터 모델에 대한 타입 힌트와 함께 입력 데이터를 자동으로 유효성 검사할 수 있습니다. 이것은 대규모 데이터 유효성 검사를 단순화하고 신뢰성 높은 코드를 작성하는 데 도움이 됩니다. 1. 기본 사용법 주로 아래와 같은 상황에서 사용합니다. 타입 힌트 기반 유효성 검사 JSON 스키마 생성 쉬운 시리얼화 및 역직렬화 데이터 모델에 대한 기본값 지정 데이터 모델 간 상속 데이터 모델을 사용하여 유형 강제 변환 Pydantic을 사용하기 위해서는 다음과 같은 단계를 따르면 됩니다. 1) Pydantic 설치 Pydantic은 pip로 설치할 수 있습니다. 다음 명령을 실행하여 설치합니다. pip ins..
[파이썬] dict 정렬하는 3가지 방법 파이썬 딕셔너리(dictionary)는 키-값 쌍을 저장하는 자료형입니다. 딕셔너리는 내부적으로 해시 테이블로 구현되어 있으며, 키를 사용하여 값을 검색하고 참조할 수 있습니다. 딕셔너리는 순서를 보장하지 않는 자료형이기 때문에, 딕셔너리를 정렬하려면 몇 가지 방법을 사용해야 합니다. 1. sorted() 함수와 lambda 함수 사용 파이썬의 내장 함수인 sorted() 함수를 사용하면, 딕셔너리의 키나 값을 정렬할 수 있습니다. sorted() 함수는 리스트, 튜플, 딕셔너리와 같은 순회 가능한(iterable) 객체를 받아서 정렬된 리스트를 반환합니다. 딕셔너리를 정렬하려면, sorted() 함수에 딕셔너리의 items() 메소드를 이용하여 (키, 값) 쌍의 리스트를 만들고, 정렬 기준으로 사용할 ..
[파이썬] 코사인 유사도 (Cosine Similarity) 예제 코드 코사인 유사도는 두 벡터 사이의 유사성을 측정하는 데에 사용되는 일반적인 방법 중 하나입니다. 파이썬에서는 다음과 같이 코사인 유사도를 계산할 수 있습니다. 1. 예제 코드 먼저, 두 벡터를 정의해야 합니다. 파이썬에서는 보통 리스트나 NumPy 배열을 사용하여 벡터를 표현합니다. 예를 들어, 다음과 같이 두 개의 벡터를 정의할 수 있습니다. vector1 = [1, 2, 3, 4, 5] vector2 = [2, 3, 4, 5, 6] 이제 두 벡터의 코사인 유사도를 계산하려면 다음과 같은 공식을 사용합니다. cosine_similarity = dot_product / (magnitude1 * magnitude2) 여기서 dot_product는 두 벡터의 내적(dot product)을 나타내고, magni..
[파이썬] all(), any() 함수 사용법 all() 함수와 any() 함수는 파이썬의 내장 함수로, 둘 다 하나 이상의 불리언(bool) 값을 받아서 해당 값들의 집합에 대한 조건을 검사하여 결과를 반환합니다. 1. all() all() 함수는 인자로 받은 iterable의 모든 요소가 참이면(True) True를 반환하고, 그렇지 않으면 False를 반환합니다. iterable은 리스트(list), 튜플(tuple), 세트(set), 딕셔너리(dict) 등의 컨테이너 자료형이 올 수 있습니다. # all() 함수 예제 lst1 = [True, True, True] lst2 = [True, False, True] print(all(lst1)) # True print(all(lst2)) # False 2. any() any() 함수는 인자로 받은..
[파이썬] 네임 맹글링 (name mangling) 네임 맹글링(name mangling)은 파이썬에서 클래스의 속성 이름을 바꾸는 기능입니다. 일반적으로 클래스 내에서 속성 이름을 _ 두 개로 시작하는 것으로 정의하면, 이 속성은 자동으로 네임 맹글링이 되어 _클래스명__속성이름 으로 변경됩니다. 1. 예제 코드 class MyClass: def __init__(self): self.__private_attr = 42 def get_private_attr(self): return self.__private_attr MyClass의 __private_attr 속성은 실제로 _MyClass__private_attr으로 맹글링됩니다. 이렇게 맹글링하는 이유는, 파이썬에서는 클래스의 속성이 기본적으로 public으로 취급됩니다. 하지만, 어떤 경우에는 클래스 ..
[파이썬] 매직 메소드란 파이썬 매직 메소드는 파이썬에서 객체 지향 프로그래밍을 구현하는 데 중요한 역할을 합니다. 이 메소드들은 __로 시작하고 끝나는 특별한 메소드입니다. 이 메소드들은 내부적으로 파이썬 인터프리터에 의해 호출되며, 사용자가 직접 호출하는 것이 아니라 자동으로 호출됩니다. 1. 개념 매직 메소드는 객체의 생성, 소멸, 문자열 표현, 연산자 오버로딩, 컨테이너 타입 지원 등 다양한 기능을 지원합니다. 이를테면, __init__ 메소드는 객체 생성 시 초기화를 위해 호출되며, __str__ 메소드는 객체를 문자열로 변환해 출력하는 데 사용됩니다. 아래는 몇 가지 대표적인 매직 메소드의 예시입니다. __init__(self[, ...]): 객체가 생성될 때 호출되는 생성자 메소드입니다. __del__(self): ..
[파이썬] BFS 예제 코드 BFS(Breadth-First Search)는 그래프에서 너비 우선 탐색을 수행하는 알고리즘으로, 특정 노드에서 시작하여 인접한 노드를 모두 방문한 후에 다음 노드로 이동하는 방식으로 탐색합니다. 즉, 가까운 노드부터 탐색을 시작하여 먼 노드로 이동하며 탐색합니다. BFS는 주로 최단 경로를 찾는 문제에서 사용됩니다. BFS 알고리즘은 큐(Queue) 자료구조를 사용하여 구현할 수 있습니다. 먼저 탐색을 시작하는 노드를 큐에 삽입합니다. 그리고 큐에서 하나의 노드를 꺼내서 해당 노드의 인접한 노드들을 모두 큐에 삽입합니다. 이 때, 이미 방문한 노드를 다시 큐에 삽입하지 않도록 방문한 노드를 체크해야 합니다. 큐가 빌 때까지 이 과정을 반복하며 모든 노드를 탐색합니다. 1. 예제 코드 아래는 Pytho..