목록코딩 (53)
SeouliteLab
Python에서는 객체를 문자열로 변환하는 다양한 방법이 있습니다. 이번 글에서는 그 중에서도 가장 일반적으로 사용되는 방법들을 살펴보겠습니다. 1. str() 함수 사용 가장 간단한 방법은 str() 함수를 사용하여 객체를 문자열로 변환하는 것입니다. 이 함수는 대부분의 내장 자료형에 대해 문자열 표현을 제공합니다. num = 123 str_num = str(num) print(str_num) 2. 문자열 포맷팅 문자열 포맷팅을 사용하여 객체를 문자열로 변환할 수도 있습니다. 이 방법은 특정 형식에 맞게 문자열을 조합하는 데 유용합니다. name = 'John' age = 30 formatted_str = f'이름: {name}, 나이: {age}' print(formatted_str) 3. % 연산자..
Python에서는 패킹과 언패킹이라는 중요한 개념이 있습니다. 이번 글에서는 이 두 가지 개념에 대해 자세히 알아보겠습니다. 1. 패킹(Packing) 패킹은 여러 개의 값을 한 변수에 묶어서 저장하는 것을 말합니다. 리스트나 튜플 등의 자료형을 사용하여 여러 값을 하나의 변수에 할당하는 것이 패킹입니다. # 리스트 패킹 예제 numbers = [1, 2, 3, 4, 5] packed = numbers # 리스트 패킹 # 튜플 패킹 예제 person = ('John', 30, 'New York') packed = person # 튜플 패킹 2. 언패킹(Unpacking) 언패킹은 패킹된 값을 여러 개의 변수로 풀어서 가져오는 것을 말합니다. 이를 통해 리스트나 튜플 등에 저장된 값을 여러 변수에 나눠 담..
랜덤한 실수(float)를 생성하는 것은 데이터 처리나 시뮬레이션 등 다양한 프로그래밍 상황에서 유용한 작업입니다. 이번 글에서는 Python에서 랜덤한 실수를 생성하는 여러 가지 방법을 살펴보겠습니다. 1. random 모듈의 random() 함수 가장 기본적인 방법은 random 모듈의 random() 함수를 사용하는 것입니다. 이 함수는 0과 1 사이의 랜덤한 실수를 반환합니다. import random random_float = random.random() print(random_float) 2. random 모듈의 uniform() 함수 random 모듈의 uniform() 함수를 사용하면 특정 범위 내의 랜덤한 실수를 생성할 수 있습니다. import random random_float = r..
Python에서는 객체 리스트를 정렬하는 것이 매우 흔한 작업입니다. 이번 글에서는 다양한 방법으로 객체 리스트를 정렬하는 예제를 살펴보겠습니다. 1. 객체의 특정 속성을 기준으로 정렬 가장 일반적인 방법은 객체의 특정 속성을 기준으로 정렬하는 것입니다. 예를 들어, 객체의 'age' 속성을 기준으로 정렬할 수 있습니다. class Person: def __init__(self, name, age): self.name = name self.age = age people = [Person('John', 30), Person('Jane', 25), Person('Dave', 35)] # 나이를 기준으로 정렬 sorted_people = sorted(people, key=lambda x: x.age) for ..
리스트를 역순으로 순회하는 것은 Python 프로그래밍에서 자주 사용되는 작업 중 하나입니다. 이번 글에서는 리스트를 역순으로 순회하는 여러 가지 방법을 살펴보겠습니다. 1. 인덱스를 이용한 역순 순회 가장 간단한 방법은 리스트의 인덱스를 이용하여 역순으로 순회하는 것입니다. 다음 예제를 통해 살펴봅니다. my_list = [1, 2, 3, 4, 5] for i in range(len(my_list) - 1, -1, -1): print(my_list[i]) 2. reversed() 함수를 이용한 역순 순회 Python에서는 내장 함수인 reversed()를 사용하여 리스트를 역순으로 순회할 수 있습니다. 이 함수는 이터레이터를 반환합니다. my_list = [1, 2, 3, 4, 5] for item i..
리스트 복사는 Python 프로그래밍에서 매우 중요한 작업 중 하나입니다. 특히, 복사를 할 때에는 Deep Copy와 Shallow Copy의 개념을 이해하는 것이 중요합니다. 이번 글에서는 Deep Copy와 Shallow Copy의 개념을 설명하고, 각각의 예제를 통해 이를 살펴보겠습니다. 1. Shallow Copy Shallow Copy는 복사된 객체가 원본 객체의 참조를 공유하는 것을 의미합니다. 이는 새로운 객체를 생성하지만, 내부의 객체는 동일한 객체를 참조합니다. import copy original_list = [[1, 2, 3], [4, 5, 6]] shallow_copy = copy.copy(original_list) # 변경 전 print(original_list) # 출력 결과:..
싱글턴 패턴은 어플리케이션 내에서 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인 패턴입니다. Python에서는 여러 가지 방법으로 싱글턴을 구현할 수 있습니다. 이번 글에서는 세 가지 방법을 살펴보겠습니다. 1. 모듈을 이용한 싱글턴 파이썬의 모듈은 처음 가져올 때 한 번만 초기화되고 이후에는 메모리에 캐싱되므로 싱글턴을 간단하게 구현할 수 있습니다. # singleton.py class Singleton: def __init__(self): pass singleton_instance = Singleton() 2. 데코레이터를 이용한 싱글턴 데코레이터를 사용하여 클래스를 싱글턴으로 만들 수 있습니다. 이를 위해 클래스를 감싸는 함수를 작성하고, 해당 함수에 데코레이터를 적용합니다. def s..
가상환경은 Python 프로젝트를 독립적으로 관리하고 의존성을 격리하는 데 유용한 도구입니다. Python에는 venv라는 기본 가상환경 모듈이 제공되며, 이를 활용하여 가상환경을 구성하고 설정할 수 있습니다. 이번 글에서는 venv를 사용하여 Python 가상환경을 구성하고 설정하는 방법을 알아보겠습니다. 1. 가상환경 생성하기 가상환경을 생성하는 첫 번째 단계는 venv를 사용하여 새로운 가상환경을 만드는 것입니다. 이를 위해 다음과 같은 명령을 실행합니다. python -m venv myenv 2. 가상환경 활성화하기 가상환경을 활성화하여 현재 사용 중인 Python 환경을 가상환경으로 변경합니다. Windows와 Unix/Linux/macOS에서는 다음과 같이 활성화할 수 있습니다. # Windo..
명령행 인자를 처리하는 것은 Python 프로그램에서 흔히 사용되는 기능 중 하나입니다. argparse 모듈을 사용하면 쉽게 명령행 인자를 받고 처리할 수 있습니다. 이번 글에서는 argparse 모듈을 사용하여 명령행 인자를 받는 여러 예제를 살펴보겠습니다. 1. 단일 인자 받기 가장 간단한 형태로 단일 인자를 받는 예제입니다. 입력한 인자를 출력하는 기능을 수행합니다. import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('integers', type=int, nargs='+', help='an integer for the accumulator') args = p..
리스트 필터링은 Python 프로그래밍에서 자주 사용되는 작업 중 하나입니다. 이 글에서는 Python으로 리스트를 필터링하는 세 가지 방법을 소개하겠습니다. 1. List Comprehension 사용하기 List Comprehension은 간결하고 직관적인 방법으로 리스트를 생성하는 기능입니다. 이를 이용하여 조건에 맞는 요소들로 새로운 리스트를 만들 수 있습니다. original_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] filtered_list = [x for x in original_list if x % 2 == 0] print(filtered_list) 2. filter() 함수 사용하기 filter() 함수를 사용하면 특정 조건을 만족하는 요소들을 걸러낼 수 있습니..