본문 바로가기
반응형
[python3.10 기본] 부록 A. 유용한 파이썬 팁과 트릭유용한 파이썬 팁리스트 컴프리헨션리스트 컴프리헨션을 사용하면 간결하고 효율적인 코드 작성이 가능합니다.numbers = [1, 2, 3, 4, 5]squares = [n**2 for n in numbers]print(squares) # [1, 4, 9, 16, 25]딕셔너리 컴프리헨션딕셔너리 컴프리헨션을 사용하면 딕셔너리를 간편하게 생성할 수 있습니다.keys = ['a', 'b', 'c']values = [1, 2, 3]dictionary = {k: v for k, v in zip(keys, values)}print(dictionary) # {'a': 1, 'b': 2, 'c': 3}다중 할당다중 할당을 사용하면 여러 변수를 한 번에 할당할 수 있습니다.a, b, c =.. 2024. 7. 2.
[python3.10 기본] 26. 다양한 도구와 기법 26.1 문서화 도구 (Sphinx)Sphinx는 파이썬 프로젝트의 문서를 생성하는 도구입니다. Sphinx를 사용하면 코드 주석을 기반으로 HTML, PDF 등의 문서를 생성할 수 있습니다.Sphinx 설치pip install sphinxSphinx 설정프로젝트 디렉토리에서 Sphinx 설정을 초기화합니다. 설정 과정에서 몇 가지 질문에 답하고 나면, conf.py 파일이 생성됩니다.sphinx-quickstart자동화된 문서화autodoc 확장을 사용하여 코드 주석을 기반으로 자동 문서를 생성할 수 있습니다.# conf.pyextensions = [ 'sphinx.ext.autodoc',]문서 생성sphinx-apidoc -o docs/source/ my_project/sphinx-build -.. 2024. 7. 2.
[python3.10 기본] 25. 성능 최적화 25.1 프로파일링 (cProfile, timeit 모듈)프로파일링은 프로그램의 성능 병목 지점을 식별하는 데 사용됩니다. 파이썬에서는 cProfile과 timeit 모듈을 사용하여 프로파일링을 수행할 수 있습니다.cProfile 모듈기본 사용법import cProfiledef slow_function(): total = 0 for i in range(1, 10000): for j in range(1, 100): total += i * j return totalcProfile.run('slow_function()')프로파일링 결과 저장import cProfiledef slow_function(): total = 0 for i in range(1,.. 2024. 7. 2.
[python3.10 기본] 24. 보안 24.1 암호화와 해싱 (hashlib, hmac, secrets 모듈)hashlib 모듈hashlib 모듈은 다양한 해시 알고리즘을 제공합니다. 해시는 입력 데이터를 고정된 길이의 바이트 문자열로 변환하는 데 사용됩니다.해시 생성import hashlibdata = "hello world"hash_object = hashlib.sha256(data.encode())hash_hex = hash_object.hexdigest()print(hash_hex) # sha256 해시 출력hmac 모듈hmac 모듈은 해시 기반 메시지 인증 코드(HMAC)를 생성하는 데 사용됩니다. HMAC은 메시지의 무결성과 진위성을 보장합니다.HMAC 생성import hmacimport hashlibkey = b'secret_.. 2024. 7. 2.
[python3.10 기본] 23. 데이터 과학과 머신러닝 23.1 NumPy 기초NumPy는 고성능 수치 계산을 위한 파이썬 라이브러리입니다. 배열 객체와 다양한 수학 함수 및 연산을 제공합니다. NumPy 설치pip install numpyNumPy 배열 생성import numpy as np# 리스트로부터 배열 생성arr = np.array([1, 2, 3, 4, 5])print(arr) # [1 2 3 4 5]# 2차원 배열 생성matrix = np.array([[1, 2, 3], [4, 5, 6]])print(matrix)기본 연산# 배열 연산arr = np.array([1, 2, 3, 4, 5])print(arr + 5) # [ 6 7 8 9 10]print(arr * 2) # [ 2 4 6 8 10]# 행렬 연산matrix = np.a.. 2024. 7. 2.
[python3.10 기본] 22. 웹 개발 22.1 웹 프레임워크 개요 (Django, Flask 등)DjangoDjango는 완전한 기능을 갖춘 고수준의 웹 프레임워크로, 신속한 개발과 간결한 디자인을 목표로 합니다. Django는 ORM, 관리자 인터페이스, 인증 시스템 등을 기본으로 제공합니다. Django 설치 및 프로젝트 생성pip install djangodjango-admin startproject mysitecd mysitepython manage.py startapp myappDjango 프로젝트 구조mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py myapp/ __init__.py .. 2024. 7. 2.
[python3.10 기본] 21. 네트워킹 21.1 socket 프로그래밍socket 모듈을 사용하여 TCP 및 UDP 소켓 프로그래밍을 수행할 수 있습니다. TCP 서버 예제import socketdef tcp_server(): server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('localhost', 8080)) server_socket.listen(5) print("Server is listening on port 8080") while True: client_socket, addr = server_socket.accept() print(f"Connection from {addr}") .. 2024. 7. 2.
[python3.10 기본] 20. 병행성 및 병렬성 20.1 threading 모듈threading 모듈은 스레드를 사용한 병행성을 지원합니다. 이를 통해 여러 작업을 동시에 수행할 수 있습니다. 기본 사용법import threadingimport timedef print_numbers(): for i in range(10): print(i) time.sleep(0.5)def print_letters(): for letter in "abcdefghij": print(letter) time.sleep(0.5)t1 = threading.Thread(target=print_numbers)t2 = threading.Thread(target=print_letters)t1.start()t2.start()t.. 2024. 7. 2.
[python3.10 기본] 19. 메타프로그래밍 19.1 클래스 데코레이터클래스 데코레이터는 함수 데코레이터와 비슷하게 클래스의 동작을 변경하거나 확장할 수 있습니다. 클래스 데코레이터 예제def add_method(cls): def new_method(self): print("New method added!") cls.new_method = new_method return cls@add_methodclass MyClass: def __init__(self, name): self.name = nameobj = MyClass("example")obj.new_method() # New method added!19.2 메타클래스메타클래스는 클래스의 클래스입니다. 즉, 클래스의 생성과 동작을 제어할 수 있는 특.. 2024. 7. 2.
[python3.10 기본] 18. 고급 함수 18.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 called.") return wrapper@my_decoratordef say_hello(): print("Hello!")say_hello()인자를 받는 데코레이터d.. 2024. 7. 2.
반응형