- [ Python/기초문법 ][Python] Decorator(데코레이터)2024-02-09 17:33:35안녕하세요 오랜만에 글을 작성하게 되었습니다 이번 글에서는 파이썬의 기초 문법 중 하나인 데코레이터 패턴에 대해 다뤄보도록 하겠습니다 ! 1. Decorator(데코레이터)란? Python의 데코레이터는 함수나 메서드의 변형을 위해 사용하는 디자인 패턴입니다. 데코레이터는 다른 함수를 감싸는 함수로, 감싸진 함수의 동작을 수정하거나 확장할 수 있습니다. 데코레이터는 코드의 재사용성과 가독성을 향상시키며, 유지보수에 도움을 줍니다. 2. Decorator(데코레이터)의 사용 데코레이터는 여러 상황에서 유용하게 사용할 수 있으며 아래 내용은 주로 데코레이터를 사용하는 예입니다. 1. 로깅: 함수의 실행에 대한 로그를 남기고 싶은 경우 2. 권한 검증: 사용자의 권한을 확인하는데 사용하는 경우 3. 성능 측..
- [ Python/기초문법 ][Python] list comprehension vs generator expression2024-01-22 10:16:20list comprehension(리스트 컴프리헨션) 리스트 컴프리헨션은 결과 리스트를 메모리에 한 번에 저장한다. 모든 요소를 계산하여 메모리에 저장하는 데 시간이 소요된다. 데이터 크기가 클 때는 상당한 메모리를 사용하고, 초기 생성 시간이 더 걸릴 수 있다. 리스트 컴프리헨션의 기본 구조 [expression for item in iterable if condition] expression : 각 아이템에 대해 실행될 표현식 for item in iterable: 반복할 수 있는 객체(iterable)에 대한 반복문 item : 반복 중 현재 아이템 iterable : 반복할 대상(예: 리스트, 튜플, 문자열 등) if condition (optional): if 조건을 만족하는 아이템에 대해서만 ..
- [ Python/기초문법 ][Python] Anaconda 가상환경 구축(macos)2024-01-02 19:46:53가상환경 ? 독립된 공간에서 Python 프로젝트와 의존성들을 관리하기 위해 사용 가상환경을 사용하는 이유 1. 의존성 관리 : 프로젝트마다 다른 버전의 라이브러리를 사용할 수 있음 2. 환경 분리 : 프로젝트간 충돌을 방지 3. 배포 용이성 : 프로젝트의 의존성을 파일로 쉽게 내보내고 다른 환경에서 실행할 수 있도록 함 주요 가상환경 및 도구 Anaconda virtualenv pycharm Anaconda(conda) 설치링크 : https://www.anaconda.com/download Free Download | Anaconda Anaconda's open-source Distribution is the easiest way to perform Python/R data science and ma..
- [ Python/기초문법 ][Python] 딕셔너리(사전) 자료형2023-12-30 18:14:20Dictionary(사전) 자료형 Dictionary : 영어 및 국어 사전 구성 : key - value, keyword(=key), 결괏값(=value) 문자열, 리스트, tuple : 데이터 조회시 인덱싱 또는 슬라이싱 딕셔너리에서 값을 조회하는 방법은 key 값을 통해서 값을 조회 기존의 key에 대한 값 수정하기 딕셔너리[기존 키] = 수정할 값으로 기존 값 수정 새로운 key - value 쌍 추가하기 딕셔너리[새 키] = 할당할 값으로 새로운 쌍 추가 위에서 정의한 변수인 country_capital에 '미국' : '워싱턴 D.C.'가 추가된 것을 확인할 수 있다 key 값은 숫자형태도 가능하며 주의해야 할 점은 '인덱스'로 접근하는게 아니라는 점이다 딕셔너리 자료형은 'key' value로..
- [ Python/기초문법 ][Python] 클래스 선언과 객체 생성2023-12-30 15:03:19클래스(class) "함수"의 확장 사물의 "설계도" Ex) 차량의 설계도 속성(Attribute)과 메소드(Method)를 가짐 Ex) 속성(성질, 상태) : 핸들, 문, 브랜드, 모델명, 연식 등 Ex) 메소드(기능, 동작) : 전진, 후진, 정지 등 클래스 생성 방법 class '클래스 이름' Ex) class Car: 객체(object) 클래스('설계도')로 부터 만들어낸 사물 객체는 속성과 메소드를 가질 수 있음 Attribute(속성) : brand, model, year Method(메소드) : init(초기화 메소드), start, stop, __str__ def __init__(self, ~) 초기화 메소드로 객체를 생성하면 처음으로 실행된다 def start(self) 차량의 움직이고 ..
- [ Python/기초문법 ][Python] 문자열 포맷팅(String Formatting)2023-12-30 14:05:08문자열 포맷팅(string formatting) 문자열 내의 변수나 표현식의 값을 삽입하는 방법 코드의 가독성 및 유지보수를 향상 시키는데 도움을 줌 1. % 연산자를 사용한 포맷팅 C언어 스타일의 포맷팅 방법 정수 포맷팅은 %d를 사용한다 % 뒤에 공백을 추가하거나 추가하지 않아도 결과는 동일하게 나오는 것을 확인할 수 있다 실수 포맷팅은 %f를 사용한다 %0.2f의 의미는 소수점 두 번째 자리까지 출력한다는 의미이다 문자열 포맷팅은 %s를 사용한다 두 개 이상의 타입을 함께 포맷팅 하는 것도 가능하다 아래 코드는 문자열과 정수를 함께 포맷팅 하여 출력한 코드이다 %를 표시하고 싶은 경우 %를 두 개 사용하면 아래와 같이 출력할 수 있다 정수뿐만 아니라 실수, 문자열 등 다른 타입에서도 가능하다 2. ..
- [ Python/기초문법 ][Python] library(라이브러리)2023-12-29 21:53:18라이브러리(library)란 ? 다른 사람들이 미리 구현해놓은 함수들의 집합 라이브러리를 사용하면 복잡한 기능을 빠르게 구현 가능하다 라이브러리 사용법 import 라이브러리명 * 코드 상단에서 실행해야 한다 ModuleNotFoundError : No module name '라이브러리명' 이 에러는 해당 라이브러리가 설치되어 있지 않기 때문에 발생하며 라이브러리를 설치한 후 import 라이브러리명을 해주면 된다 예 : pandas 라이브러리 import pandas 매번 사용할 때마다 라이브러리 명을 이용하는 것은 효율적이지 않으므로 'as'를 통해 해당 라이브러리를 다른 이름으로 사용하겠다고 명시할 수 있다. Ex) import pandas as pd pd.read_csv() import numpy..
- [ Python/기초문법 ][Python] 리스트 함수2023-12-29 21:31:041. append() list에서 원소 하나를 맨 마지막에 추가 'Tom'이 myFriends 리스트의 맨 마지막 원소로 추가된 것을 확인할 수 있다 2. extend() 리스트에서 항목 여러 개를 맨 마지막에 추가 append로 추가하는 부분을 주석으로 처리한 이유는 append 메서드를 사용하여 추가하면 "리스트" 형태로 추가되어 리스트 내에 리스트로 추가되는 형태가 되기 때문이다 extend() 메서드를 사용하여 myFriends 리스트 내에 newFriends 리스트 내의 원소들을 추가한 것을 확인할 수 있다 3. insert() 항목의 위치를 나타내는 인덱스 i에 data를 삽입 myFriends 리스트 내의 1번 인덱스 값인 'Robert' 위치에 'Vamos'라는 새로운 data가 추가된 것..