본문 바로가기

Category/Python23

파이썬 정렬 함수 sort()와 sorted() 차이점 sort와 sorted는 Python에서 리스트와 같은 데이터 구조를 정렬할 때 사용되지만, 작동 방식과 사용 용도가 다릅니다.1. sort리스트 객체의 메서드로, 원본 리스트를 제자리에서(in-place) 정렬합니다.정렬된 결과를 반환하지 않고, 원본 리스트 자체를 변경합니다.사용법list.sort(key=None, reverse=False)매개변수key: 정렬 기준으로 사용할 함수를 지정. (기본값: None)reverse: 정렬 순서를 반대로 설정. True이면 내림차순, 기본값은 False로 오름차순.예제# 원본 리스트 정렬numbers = [3, 1, 4, 1, 5, 9]numbers.sort()print(numbers) # [1, 1, 3, 4, 5, 9]# 내림차순 정렬numbers.sor.. 2024. 11. 18.
Python의 itertools 모듈에서 제공하는 주요 함수 정리 아래는 Python의 itertools 모듈에서 제공하는 주요 함수들과 그 설명 및 예제들입니다. itertools는 반복(iterable) 작업을 편리하게 해주는 강력한 도구들을 제공합니다.1. itertools.productitertools.product는 데카르트 곱(Cartesian Product)을 생성합니다. 여러 반복 가능한 객체에서 가능한 모든 조합을 생성합니다.문법itertools.product(*iterables, repeat=1)예제from itertools import product# 두 리스트의 데카르트 곱for p in product([1, 2], ['a', 'b']): print(p)# 출력: (1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')# 하나의 .. 2024. 11. 18.
Python에서 __init__과 self의 역할 Python에서 __init__과 self는 클래스(class)와 관련된 핵심 개념입니다. 이를 이해하면 Python의 객체 지향 프로그래밍(OOP)을 잘 다룰 수 있습니다. __init__ 메서드란?클래스의 생성자(Constructor):클래스가 새로운 객체를 생성할 때 자동으로 호출되는 메서드입니다.객체의 초기 상태를 설정하는 데 사용됩니다.사용 예:객체를 생성할 때 전달받은 데이터를 초기화하거나, 필요한 변수들을 설정합니다.class Stack: def __init__(self): # 스택 초기화 self.stack = []# 객체 생성s = Stack()print(s.stack) # 빈 리스트 출력: []self란?현재 객체(instance)를 나타냄:클래스 내부의.. 2024. 11. 17.
zip 함수란? zip은 여러 개의 반복 가능한 객체(리스트, 튜플, 문자열 등)를 하나로 묶어서 각 객체의 동일한 위치에 있는 요소를 튜플로 만들어주는 Python 내장 함수입니다.쉽게 말하면, "같은 위치에 있는 요소들을 그룹으로 묶는다"는 역할을 합니다.zip의 기본 문법zip(*iterables)iterables: 리스트, 튜플, 문자열 등 반복 가능한 객체들을 여러 개 넣습니다.반환값: 묶인 결과를 이터레이터(iterator) 형태로 반환합니다.예제 1: 리스트 묶기list1 = [1, 2, 3]list2 = ['a', 'b', 'c']result = zip(list1, list2)# zip 결과를 리스트로 변환하여 확인print(list(result))출력:[(1, 'a'), (2, 'b'), (3, 'c').. 2024. 11. 16.
SQLAlchemy란? SQLAlchemy는 Python에서 사용하는 ORM(Object Relational Mapping) 라이브러리이자 데이터베이스를 다루는 도구입니다. SQLAlchemy는 크게 두 가지 주요 구성 요소로 나뉩니다: SQLAlchemy ORM과 SQLAlchemy Core입니다. 이 두 가지 모두 데이터베이스와 상호작용할 수 있지만, ORM은 객체 지향적인 방식으로 데이터를 다루고, Core는 SQL을 직접 작성하고 실행하는 방식을 더 중시합니다.1. SQLAlchemy ORM (객체 관계 매핑)ORM은 객체(Object)와 데이터베이스 테이블 간의 매핑을 통해 SQL 쿼리를 작성하지 않고도 데이터베이스 작업을 할 수 있게 해줍니다. SQLAlchemy ORM은 Python 클래스와 데이터베이스 테이블을 .. 2024. 9. 18.
Python 가상 환경이란? Python 가상 환경은 프로젝트마다 독립된 Python 실행 환경을 제공하여, 프로젝트 간에 의존성 충돌을 방지하고, 각 프로젝트가 필요로 하는 패키지와 라이브러리 버전을 독립적으로 관리할 수 있게 해주는 도구입니다. 가상 환경을 사용하면, 프로젝트마다 필요한 Python 패키지들을 독립된 환경에서 관리할 수 있어, 다양한 프로젝트를 동시에 관리할 때 유용합니다.가상 환경이 필요한 이유프로젝트별 의존성 충돌 방지: 여러 프로젝트에서 서로 다른 버전의 패키지를 사용할 수 있습니다. 예를 들어, 한 프로젝트에서는 Django 3.0을 사용하고, 다른 프로젝트에서는 Django 4.0을 사용하는 경우, 가상 환경을 사용하지 않으면 서로 다른 버전의 패키지가 충돌할 수 있습니다.글로벌 패키지 설치 방지: 가상.. 2024. 9. 16.