본문 바로가기
반응형
[python3.10 기본] 15. 테스트와 디버깅 15.1 단위 테스트 (unittest 모듈)unittest 모듈은 파이썬 표준 라이브러리로, 단위 테스트를 작성하고 실행하는 데 사용됩니다. 기본 테스트 작성import unittestdef add(a, b): return a + bclass TestMath(unittest.TestCase): def test_add(self): self.assertEqual(add(1, 2), 3) self.assertEqual(add(-1, 1), 0) self.assertEqual(add(0, 0), 0)if __name__ == '__main__': unittest.main()테스트 실행python -m unittest test_script.pysetup과 t.. 2024. 7. 2.
[python3.10 기본] 14. 형 힌팅과 타입 검사 14.1 타입 힌트 문법타입 힌트는 함수 인자와 반환값의 타입을 명시하는 방법입니다. 기본 타입 힌트def add(a: int, b: int) -> int: return a + bdef greet(name: str) -> str: return f"Hello, {name}!"리스트, 튜플, 딕셔너리 타입 힌트from typing import List, Tuple, Dictdef process_list(data: List[int]) -> List[int]: return [x * 2 for x in data]def process_tuple(data: Tuple[int, int]) -> int: return data[0] + data[1]def process_dict(data: Dict[s.. 2024. 7. 2.
[python3.10 기본] 13. 비동기 프로그래밍 13.1 async와 await 키워드비동기 함수는 async def 문으로 정의됩니다. 비동기 함수 내부에서 다른 비동기 함수의 실행을 기다리려면 await 키워드를 사용합니다. 비동기 함수 정의import asyncioasync def say_hello(): print("Hello") await asyncio.sleep(1) print("World")# 이벤트 루프 실행asyncio.run(say_hello())13.2 asyncio 모듈asyncio 모듈은 비동기 I/O, 이벤트 루프, 태스크, 동기화를 지원하는 기능을 제공합니다. 비동기 함수 실행import asyncioasync def main(): print("Start") await asyncio.sleep(1) .. 2024. 7. 2.
[python3.10 기본] 12. 표준 라이브러리 및 외부 라이브러리 사용 12.1 주요 표준 라이브러리 소개os 모듈: 운영 체제와 상호 작용하는 기능을 제공합니다.import os# 현재 작업 디렉토리 확인print(os.getcwd())# 디렉토리 내용 목록 확인print(os.listdir("."))# 디렉토리 생성os.mkdir("new_directory")# 파일 삭제os.remove("example.txt")# 환경 변수 가져오기print(os.getenv("HOME"))sys 모듈: 파이썬 인터프리터와 관련된 정보를 제공합니다.import sys# 파이썬 버전 확인print(sys.version)# 명령줄 인수 가져오기print(sys.argv)# 모듈 검색 경로print(sys.path)math 모듈: 수학 관련 함수와 상수를 제공합니다.import math# .. 2024. 7. 1.
[python3.10 기본] 11. 모듈과 패키지 11.1 모듈 import모듈을 import하여 다른 파이썬 파일의 함수, 클래스, 변수 등을 사용할 수 있습니다. 기본 importimport mathprint(math.sqrt(16)) # 4.0특정 함수/변수 importfrom math import sqrtprint(sqrt(16)) # 4.0별칭 사용import math as mprint(m.sqrt(16)) # 4.0모듈의 모든 내용을 importfrom math import *print(sqrt(16)) # 4.011.2 패키지와 서브패키지패키지는 디렉토리로, 여러 모듈을 포함할 수 있습니다. 패키지에는 __init__.py 파일이 포함되어 있어야 합니다. 패키지 구조mypackage/ __init__.py module1.p.. 2024. 7. 1.
[python3.10 기본] 9. 예외 처리 9.1 try, except, else, finally 구문예외 처리는 try 블록을 사용하여 시도하고, except 블록을 사용하여 예외를 처리합니다. 또한, else와 finally 블록을 사용할 수도 있습니다. try와 except: try 블록 내에서 오류가 발생하면 except 블록이 실행됩니다.try: x = 10 / 0except ZeroDivisionError: print("Division by zero is not allowed.")else: try 블록이 성공적으로 실행되면 else 블록이 실행됩니다.try: x = 10 / 2except ZeroDivisionError: print("Division by zero is not allowed.")else: pr.. 2024. 7. 1.
[python3.10 기본] 8. 파일 입출력 8.1 파일 열기, 읽기, 쓰기, 닫기파일 열기파일을 열기 위해서는 open() 함수를 사용합니다. 이 함수는 파일 경로와 모드를 인자로 받습니다. 모드에는 읽기 모드(r), 쓰기 모드(w), 추가 모드(a), 이진 모드(b), 텍스트 모드(t) 등이 있습니다.# 파일 열기file = open("example.txt", "r") # 읽기 모드로 파일 열기파일 읽기파일을 읽는 방법에는 여러 가지가 있습니다. read(), readline(), readlines() 메소드를 사용합니다.# 파일 전체 읽기with open("example.txt", "r") as file: content = file.read() print(content)# 파일 한 줄 읽기with open("example.txt".. 2024. 7. 1.
[python3.10 기본] 7. 문자열 조작 7.1 문자열 인덱싱과 슬라이싱문자열 인덱싱과 슬라이싱을 사용하면 문자열의 특정 부분을 추출하거나 조작할 수 있습니다. 문자열 인덱싱: 문자열의 특정 위치에 접근할 수 있습니다. 인덱스는 0부터 시작합니다.s = "Hello, World!"print(s[0]) # 'H'print(s[7]) # 'W'print(s[-1]) # '!'문자열 슬라이싱: 문자열의 특정 부분을 추출할 수 있습니다.s = "Hello, World!"print(s[0:5]) # 'Hello'print(s[7:]) # 'World!'print(s[:5]) # 'Hello'print(s[::2]) # 'Hlo ol!'7.2 문자열 메소드문자열 메소드는 문자열을 조작하거나 정보를 추출하는 데 사용됩니다. 대소문자 변환s = .. 2024. 7. 1.
[python3.10 기본] 6. 데이터 구조 6.1 리스트 (List)리스트는 순서가 있는 변경 가능한 데이터 구조로, 다양한 타입의 요소를 포함할 수 있습니다. 리스트 생성fruits = ["apple", "banana", "cherry"]리스트 요소 접근print(fruits[0]) # appleprint(fruits[1]) # bananaprint(fruits[-1]) # cherry리스트 요소 변경fruits[1] = "blueberry"print(fruits) # ["apple", "blueberry", "cherry"]리스트 요소 추가fruits.append("date")print(fruits) # ["apple", "blueberry", "cherry", "date"]리스트 요소 삭제fruits.remove("blueberry.. 2024. 7. 1.
[python3.10 기본] 5. 함수 5.1 함수 정의 및 호출함수는 def 키워드를 사용하여 정의합니다. 함수 정의def greet(name): return f"Hello, {name}!"함수 호출print(greet("Alice"))5.2 매개변수와 인자함수는 매개변수를 통해 데이터를 전달받을 수 있으며, 호출 시 인자를 통해 값을 전달합니다.위치 인자: 순서대로 값을 전달합니다.def add(a, b): return a + bprint(add(2, 3)) # 5키워드 인자: 이름을 지정하여 값을 전달합니다.def add(a, b): return a + bprint(add(a=2, b=3)) # 5print(add(b=3, a=2)) # 5기본값 인자: 기본값을 지정할 수 있습니다.def greet(name, gre.. 2024. 7. 1.
반응형