본문 바로가기

Algorithms and Languages/Python

(5)
[Python] 이미 동적 타입 언어인 파이썬에 제네릭을 사용하는 이유. 제네릭 프로그래밍을 설명할 때 흔히 '타입을 미리 정하지 않고, 사용될 때 그 타입을 결정하는 방식'이라고 설명한다. 하지만, 나는 이게 상당히 C++나 자바틱한 설명이라고 생각한다.왜냐하면, 사실 파이썬은 이미 동적 타입 언어(Dynamically typed language)이기 때문에, 저 설명을 들으면 '사용될 때 정해진단 거, 런타임 때 정해진단 거 아니야? 파이썬은 이미 런타임 때 타입이 결정되는데, 제네릭을 쓰는 의미가 있나? 동적 타이핑은 이미 파이썬에 있는 기능 아닌가?'하는 의문이 들 수 있기 때문이다. 사실 내가 그랬고, 자바에서 제네릭을 간단히 배우긴 했지만 그 때는 코드 따라치기에 급급했지 제대로 이해하진 못했었다.그래서 이번 글로 정리해보려고 한다.우선 제네릭을 이해하기 위해 잠시..
[Python] 제네레이터 표현식에서 괄호가 생략 가능한 공식 근거. 안녕하세요? 커피러브입니다. 파이썬의 `제네레이터 표현식(generator expression)`을 사용하다 보면, 다음과 같이 사용하는 경우가 많습니다.a = {1, 2, 3}my_list = list(i for i in a)print(my_list) # [1, 2, 3]그런데... 뭔가 이상하지 않나요? `list(), set()와 같은 형 변환 함수(Type conversion function)`들은 인자로 `이터러블(iterable)`을 받아야 하지 않았던가요? 예를 들어, 아래와 같이 말이죠.b = {1, 2, 3}my_list1 = list(b)my_list2 = list({1, 2, 3})my_list3 = list((1, 2, 3))print(my_list1) # [1, 2, 3]print..
[Python] sorted() 함수와 list.sort() 메서드 설명 및 비교. 1. sorted() 함수- `iterable 객체(리스트, 튜플, 문자열 등)`를 정렬하여 `정렬된 새로운 리스트`를 반환하는 내장 함수.- 쉽게 말해, `iterable`를 받아서 `list`를 반환함.문법result = sorted(iterable, key=None, reverse=False)매개변수1. iterable (필수)- 정렬 대상이 되는 iterable 객체.- ex. `str, list, tuple, dict의 key 등`2. key (선택, 기본값 : None)- 정렬 기준을 지정하는 함수.- 각 요소에 대해 `key`로 전달된 함수가 호출되며, 반환된 값이 정렬 기준이 됨.- 기본값은 `None`로 이 경우 요소 자체를 기준으로 정렬.3. reverse (선택, 기본값 : False..
[Python] 문자열 치환 메서드 성능 비교 - str.replace(), re.sub(), str.translate() https://cuffyluv.tistory.com/120 [Python/leetcode] 819. Most Common Wordhttps://leetcode.com/problems/most-common-word/description/가장 흔한 단어.금지된 단어를 제외하고, 가장 흔하게 등장하는 단어를 출력해라. 대소문자 구분을 하지 않으며, 구두점(마침표, 쉼표 등) 또한 무시cuffyluv.tistory.com- 해당 문자열 치환 문제를 풀고 정리하면서, 같은 문제를 `str.replace`, `re.sub`, `str.translate` 세 함수 및 메서드 모두로 풀 수 있음을 확인하였다.- 따라서, 저 세 함수 및 메서드 각각을 어떤 상황에 사용해야 할지 그 특성과 장단점 및 성능을 비교해 정리해..
[Python] import문 사용법(패키지, 모듈 차이) 주의) 이 게시물에는 Chat gpt에게 질문하여 얻은 내용들이 포함되어 있습니다.패키지, 모듈, 클래스의 차이패키지(Package): 여러 모듈을 포함하는 디렉토리 구조를 가진 Python의 코드 집합입니다. 패키지는 모듈을 조직화하고, 관련된 기능을 묶어 관리할 수 있게 해줍니다. 예를 들어, scipy는 다양한 서브모듈들을 포함하는 패키지입니다.모듈(Module): Python 파일로, 함수, 클래스, 변수 등을 포함할 수 있는 독립적인 코드 단위입니다. 모듈은 특정 기능을 수행하기 위한 코드 집합입니다. 예를 들어, scipy.linalg는 scipy 패키지 내의 선형 대수 기능을 제공하는 모듈입니다. 또한, Toeplitz 함수는 모듈 내에 정의된 함수입니다.import로 불러왔을 때의 차이1...