파이썬/Basic
파이썬에서 디자인 패턴 적용하기
디자인 패턴은 소프트웨어 개발에서 잘 알려진 문제를 해결하기 위한 일반적인 솔루션입니다. 이러한 패턴은 코드의 구조를 개선하고, 유지보수성과 확장성을 높이며, 코드의 재사용성을 높이는 데 도움을 줍니다.파이썬에서는 다양한 디자인 패턴을 적용할 수 있습니다. 이번 포스팅에서는 주요 디자인 패턴의 파이썬 구현 방법을 살펴보겠습니다.1. 싱글톤 패턴(Singleton Pattern)싱글톤 패턴은 클래스의 인스턴스를 하나만 생성하도록 보장하는 패턴입니다. 파이썬에서는 다음과 같이 구현할 수 있습니다:class Singleton: _instance = None def __new__(cls, *args, **kwargs): if cls._instance is None: c..
다양한 이미지 확장자와 확장자 변경하기
이미지 파일에는 다양한 확장자가 사용됩니다. 각 확장자마다 특징과 장단점이 있기 때문에, 상황에 맞는 적절한 확장자를 선택하는 것이 중요합니다. 이번 포스팅에서는 주요 이미지 확장자들을 살펴보고, Python을 이용하여 이미지 확장자를 변경하는 방법을 알아보겠습니다.주요 이미지 확장자JPEG/JPG가장 널리 사용되는 이미지 형식사진 이미지에 적합하며, 손실 압축을 지원하여 파일 크기를 줄일 수 있음투명도 지원 불가PNG투명도 지원, 손실 없는 압축 형식사진 이미지와 그래픽 이미지에 모두 적합파일 크기가 JPEG보다 크지만 화질이 좋음GIF애니메이션 지원256색 제한으로 사진 이미지에는 부적합하지만, 간단한 그래픽 이미지에는 적합투명도 지원BMP비트맵 이미지 형식무손실 압축이며, 화질이 좋지만 파일 크기가..
Python 데코레이터 : 정적 메서드부터 데이터 클래스까지 알아보기
@staticmethod: 클래스 내부의 독립적인 함수Python에서 @staticmethod는 클래스 내부에 정의된 독립적인 함수를 나타냅니다. 이 함수는 클래스나 인스턴스와 상관없이 동작하며, self 또는 cls 매개변수를 받지 않습니다.class MathUtils: @staticmethod def add(a, b): return a + bresult = MathUtils.add(10, 5) # 15@classmethod: 클래스 자체를 인자로 받는 메서드@classmethod는 클래스 자체를 첫 번째 인자로 받는 메서드를 나타냅니다. 이 메서드는 클래스 인스턴스 없이 호출할 수 있으며, 클래스 속성이나 메서드에 접근할 수 있습니다.class MyClass: class..
Python의 데코레이터: 강력한 코드 확장 기능
Python에서 데코레이터는 매우 강력한 기능입니다. 데코레이터를 사용하면 함수 및 클래스의 동작을 손쉽게 확장할 수 있습니다. 이번 포스팅에서는 Python 데코레이터에 대해 자세히 살펴보겠습니다.데코레이터란?데코레이터는 함수 또는 클래스를 수정하거나 확장하는 방법입니다. 데코레이터는 함수 앞에 @ 기호와 함께 사용됩니다.예를 들어, 다음과 같이 @uppercase 데코레이터를 정의할 수 있습니다:def uppercase(func): def wrapper(*args, **kwargs): result = func(*args, **kwargs) return result.upper() return wrapper@uppercasedef say_hello(name): r..
sort와 sorted의 차이점
파이썬에서 리스트를 정렬하는 작업은 매우 빈번하게 발생합니다. 이를 위해 sort와 sorted 두 가지 함수가 제공되는데, 이들은 유사한 기능을 제공하면서도 중요한 차이점을 가지고 있습니다. 1. sort() 기능: 리스트를 직접 변경하여 정렬합니다. 반환 값: None (리스트 자체를 변경합니다) my_list = [5, 2, 4, 1, 3] # 리스트를 직접 정렬 my_list.sort() print(my_list) # [1, 2, 3, 4, 5] 2. sorted() 기능: 리스트를 새롭게 만들어 정렬 결과를 반환합니다. 반환 값: 정렬된 새로운 리스트 my_list = [5, 2, 4, 1, 3] # 새 리스트를 만들어 정렬 결과 반환 sorted_list = sorted(my_list) pri..
문자열에 원하는 문자를 추가하는 방법
블로그 게시물 작성, 소셜 미디어 게시물 공유, 데이터 분석 등 다양한 상황에서 문자열에 특정 문자를 추가해야 하는 경우가 있습니다. 이 작업은 수동으로 수행할 수도 있지만, Python 코드를 활용하면 훨씬 빠르고 간단하게 처리할 수 있습니다. 이 글에서는 간단하게 단어 앞에 해쉬태그(#)을 추가하는 방법에 대해서 설명하겠습니다. 예시 def add_prefix(text, prefix): """ 문자열에 지정된 접두사를 추가합니다. Args: text: 문자열 prefix: 추가할 접두사 Returns: 접두사가 추가된 문자열 """ # 문자열을 공백을 기준으로 분리 words = text.split(" ") # 각 단어 앞에 접두사를 추가하고 리스트에 저장 prefixed_words = [f"{pre..
Python에서 JSON과 Dictionary 간 변환하는 방법
JSON은 키-값 쌍으로 이루어진 데이터를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷입니다. Python에서 JSON 데이터를 사용하기 위해서는 Dictionary로 변환해야 합니다. 반대로, Dictionary를 JSON으로 변환하여 다른 프로그램이나 API와 데이터를 주고받을 수 있습니다. JSON을 Dictionary로 변환하기 Python의 json 라이브러리를 사용하여 JSON 문자열을 Dictionary로 변환할 수 있습니다. json.loads() 함수를 사용하면 JSON 문자열을 파싱하여 Dictionary 객체를 반환합니다. import json json_data = '{ "p1": { "name": "chulsu", "age": 20 }, "p2": { "n..
requests : 간편한 HTTP 요청
파이썬에서 웹 데이터를 가져오거나 웹 API를 사용할 때, requests 모듈은 필수적인 도구입니다. requests 모듈은 간결하고 우아한 API를 제공하여 다양한 HTTP 요청을 쉽게 수행할 수 있게 해줍니다. requests 모듈의 장점간결한 API: requests 모듈은 복잡한 코드를 작성하지 않고도 다양한 HTTP 요청을 수행할 수 있습니다.다양한 기능: GET, POST, PUT, DELETE 등 다양한 HTTP 메서드를 지원하며, 인증, 쿠키, 헤더 등 다양한 기능을 제공합니다.자동 JSON 파싱: JSON 응답을 자동으로 파싱하여 사용하기 쉽게 해줍니다.오류 처리: HTTP 오류를 처리하는 데 도움이 되는 기능을 제공합니다.requests 모듈 사용 방법requests 모듈을 사용하기 ..