파이썬연습 19

리스트의 주요 메서드 작동 방식

올려주신 코드 실행 결과는 리스트의 주요 메서드 작동 방식을 잘 보여주는 예입니다. 아래에 각 단계별로 설명드리겠습니다.📌 코드 분석s = [1, 2, 3]리스트 s는 [1, 2, 3]으로 시작합니다.✅ append(5)s.append(5) → [1, 2, 3, 5]리스트 맨 끝에 5 추가✅ insert(3, 4)s.insert(3, 4) → [1, 2, 3, 4, 5]인덱스 3 위치에 4를 삽입 (기존 5는 뒤로 밀림)✅ index(3) / index(4)s.index(3) → 2s.index(4) → 3해당 값이 처음 등장하는 인덱스를 반환✅ reverse()s.reverse() → [5, 4, 3, 2, 1]리스트 순서를 뒤집음✅ sort()s.sort() → [1, 2, 3..

[파이썬 연습] 딕셔너리(Dictionary)란?

딕셔너리(Dictionary)란?파이썬의 딕셔너리(Dictionary)는 키(key)-값(value) 쌍으로 이루어진 자료형입니다. 데이터를 이름으로 매핑하여 저장하기 때문에 빠르고 효율적인 데이터 검색이 가능합니다. 딕셔너리는 {} 중괄호를 사용해 선언합니다.딕셔너리의 주요 특징키-값 쌍으로 구성:키: 고유하며 불변(immutable)해야 함 (문자열, 숫자, 튜플 등 가능).값: 변경 가능한(mutable) 모든 자료형 사용 가능.순서 유지 (파이썬 3.7 이상):딕셔너리는 삽입된 순서를 유지합니다.중복 키 불허:동일한 키가 여러 개 존재하면, 마지막에 정의된 키-값 쌍이 유지됩니다.변경 가능(Mutable):딕셔너리는 추가, 삭제, 수정 가능.딕셔너리 생성 방법# 빈 딕셔너리 생성empty_dict..

[파이썬 연습] 파이썬 문자열 포매팅

파이썬 문자열 포매팅문자열 포매팅(String Formatting)은 텍스트 안에 변수나 값을 삽입해 동적인 문자열을 생성하는 기술입니다. 파이썬에서는 문자열 포매팅을 수행하는 다양한 방법을 제공합니다. 대표적으로는 % 연산자 방식, str.format() 메서드, 그리고 f-string 방식이 있습니다.1. % 연산자 방식C 언어의 printf 스타일을 따른 방식으로, 문자열 안에 포매팅 지시자를 사용하여 값을 삽입합니다.사용법:name = "Alice"age = 25print("Hello, my name is %s and I am %d years old." % (name, age))주요 포매팅 지시자:%s: 문자열%d: 정수%f: 부동소수점 (기본적으로 소수점 이하 6자리)%.2f: 소수점 이하 2자..

[파이썬 연습] 파이썬 내장 함수 bool 연습

다음 연습 문제를 풀어보세요 다음 두 수를 bool() 클래스를 사용하여 num_1이 num_2보다 크거나 같은 수인지 확인하세요.num_1 = 20num_2 = 40  풀이num_1 = 20num_2 = 40print(bool(num_1 >= num_2))   다음 두 수를 bool() 클래스와 not 연산자를 사용하여 num_1이 num_2보다 크거나 같은 수인지 확인하세요.num_1 = 20num_2 = 40  풀이num_1 = 20num_2 = 40print('1.', bool(not (num_1 >= num_2)))print('2.', not bool(num_1 >= num_2))

[파이썬 연습] 주식 거래의 변동성 돌파 전략

주식 거래의 변동성 돌파 전략변동성 돌파 전략을 구현하고 백테스팅하기 위한 파이썬 코드를 작성하고자 한다면, 여기에 표준 Python 라이브러리를 사용하여 삼성전자 주식 데이터에 적용할 수 있는 전체 코드 예시를 제공합니다. 이 예시는 pykrx 모듈을 사용하여 데이터를 불러오고, 변동성 돌파 전략을 구현하여 그 성과를 평가합니다.완성된 파이썬 코드# 필요한 라이브러리를 불러옵니다.import pandas as pdfrom pykrx import stockimport numpy as np# 삼성전자의 주식 데이터를 2023년 1월 1일부터 2023년 12월 31일까지 불러옵니다.start_date = '2023-01-01'end_date = '2023-12-31'df = stock.get_market_o..

[파이썬 연습] 로깅과 어노테이션

로깅과 어노테이션로깅과 어노테이션을 함께 사용하는 방법을 설명드리겠습니다. 로깅은 프로그램의 실행 과정을 추적하고 기록하는 방법입니다. 파이썬의 logging 모듈을 사용하면 다양한 수준의 로그 메시지를 쉽게 기록할 수 있습니다. 이를 함수에 어노테이션으로 추가하여 함수 호출 시마다 로그를 남길 수 있습니다.로깅 설정먼저 로깅 설정을 합니다. 로깅 설정은 일반적으로 프로그램의 시작 부분에 위치시킵니다.import logginglogging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')logger = logging.getLogger(__name__)데코레이터를 사용한 로깅로깅을 함수에 추가하려면 데코레이..

[파이썬 연습] 어노테이션과 타입 힌트

파이썬에서 타입 힌트(Type Hint)는 함수의 인자와 반환값의 타입을 명시하여 코드의 가독성을 높이고, 코드 분석 도구나 IDE가 타입을 추론하는 데 도움을 주기 위해 사용됩니다. 어노테이션(Annotation)은 이러한 타입 힌트를 사용하는 방법입니다.타입 힌트의 기본 사용법타입 힌트는 함수의 인자와 반환값에 대한 타입을 명시할 수 있습니다. 이를 통해 코드를 읽는 사람이 함수의 의도를 더 쉽게 이해할 수 있습니다.1. 기본 타입 힌트def add(x: int, y: int) -> int: return x + yresult = add(3, 5)print(result) # 8위 예제에서 x와 y는 int 타입이며, 함수는 int 타입을 반환한다고 명시하고 있습니다.2. 다양한 타입 힌트파이썬의..

[파이썬 연습] 파이썬 데코레이터

파이썬 데코레이터파이썬 데코레이터(Decorator)는 기존 함수나 메서드에 추가적인 기능을 동적으로 부여하는 데 사용되는 디자인 패턴입니다. 데코레이터는 함수를 인자로 받아 새로운 함수를 반환하는 함수입니다. 데코레이터를 사용하면 코드의 재사용성을 높이고 중복을 줄일 수 있습니다.기본 데코레이터 사용법1. 기본 데코레이터 예제먼저 간단한 데코레이터를 만들어 보겠습니다.def my_decorator(func): def wrapper(): print("Something is happening before the function is called.") func() print("Something is happening after the function is calle..

[파이썬 연습] 내장 변수 __name__

내장 변수 name파이썬에서 내장 변수 __name__은 모듈의 이름을 나타내는 특별한 변수입니다. 이 변수는 모듈이 직접 실행되는지 아니면 다른 모듈에 의해 임포트(import)되는지 여부를 확인하는 데 사용됩니다.__name__의 동작 원리스크립트가 직접 실행될 때: __name__ 변수는 "__main__"으로 설정됩니다.모듈이 임포트될 때: __name__ 변수는 모듈의 이름으로 설정됩니다.이를 활용하면 모듈이 직접 실행될 때와 임포트될 때의 동작을 구분할 수 있습니다.예제예제 1: 기본 사용법my_module.py라는 파일을 만들고 다음과 같이 작성합니다:# my_module.pydef hello(): print("Hello, World!")if __name__ == "__main__": ..

[파이썬 연습] 예외 처리 작성하기

예외 처리 작성하기예외 처리는 프로그램 실행 중 발생할 수 있는 오류를 처리하여 프로그램이 중단되지 않도록 하는 방법입니다. 파이썬에서는 try, except, else, finally 키워드를 사용하여 예외 처리를 할 수 있습니다.기본 구조try: # 예외가 발생할 가능성이 있는 코드except 예외타입 as e: # 예외가 발생했을 때 실행할 코드else: # 예외가 발생하지 않았을 때 실행할 코드finally: # 예외 발생 여부와 관계없이 항상 실행할 코드예제1. 기본적인 예외 처리try: x = int(input("숫자를 입력하세요: ")) y = int(input("나눌 숫자를 입력하세요: ")) result = x / yexcept ValueError: ..