본문 바로가기
반응형

Python40

문자열을 파이썬 코드로 해석해서 실행하는 함수 : eval(), exec() 비교 문자열을 파이썬 코드로 해석해서 실행하는 함수 : eval(), exec() 비교문자열을 파이썬 코드로 해석해서 실행하는 함수인 eval()과 exec()는 파이썬의 동적 특성을 극대화하는 강력한 도구입니다. 이 두 함수는 입력받은 문자열을 코드로 변환해 실행하는 기능을 제공하며, 특정 상황에서 유연하고 강력한 기능을 발휘할 수 있습니다. eval()은 주로 단일 표현식을 평가하고 그 결과를 반환하는 데 사용되는 반면, exec()는 전체 코드 블록을 실행할 수 있습니다. 하지만 이와 같은 강력한 기능에는 보안상의 취약점과 성능 저하 문제를 동반할 수 있어, 무분별한 사용은 위험을 초래할 수 있습니다. 이 글에서는 eval()과 exec()의 주요 특징에 대해 비교했습니다. Python의  eval() .. 2024. 9. 4.
파이썬 3.12의 "Deprecation Warning" 적용 및 변경사항 파이썬 3.12의 "Deprecation Warning" 적용 및 변경사항파이썬 3.12의 "Deprecation Warnings by Default"는 파이썬 언어의 사용자들에게 오래된 기능들이 더 이상 권장되지 않음을 알리기 위해, 기본적으로 이러한 기능을 사용할 때 경고 메시지를 출력하도록 하는 중요한 변경 사항입니다. 이 기능은 코드의 장기적인 유지 보수를 돕고, 향후 버전에서 사라질 기능에 대한 대비를 할 수 있도록 돕습니다. 이는 향후 파이썬의 진화에 따라 코드베이스가 끊임없이 최신 상태를 유지하도록 돕는 중요한 도구입니다. 이 기능을 통해 개발자는 코드의 품질을 높이고, 예상치 못한 문제를 방지할 수 있습니다.Deprecation Warning이란?Deprecation Warning은 특정 .. 2024. 8. 21.
파이썬 3.12의 "Buffer Protocol Improvements" 특징 : 메모리 사용 효율화 파이썬 3.12의 "Buffer Protocol Improvements" 특징 : 메모리 사용 효율파이썬 3.12의 "Buffer Protocol Improvements"는 파이썬에서 메모리 버퍼를 효율적으로 관리하고, 다양한 데이터 타입 간의 메모리 공유를 최적화하기 위한 중요한 개선 사항입니다. 버퍼 프로토콜은 파이썬 객체가 원시 메모리 배열을 노출할 수 있도록 하는 인터페이스를 정의하며, 이를 통해 객체 간의 메모리 복사 없이 데이터를 직접 공유할 수 있습니다.  이것은 고성능 애플리케이션에서 메모리 효율성을 극대화하고, 복잡한 데이터 구조를 더 쉽게 관리할 수 있도록 합니다. 특히, 대규모 데이터를 다루는 이미지 처리, 과학 계산, 머신 러닝 등의 분야에서 이러한 개선 사항들은 큰 이점을 제공합니.. 2024. 8. 20.
파이썬 3.12의 Precise Garbage Collection 의 특징(메모리누수 방지) 파이썬 3.12의 Precise Garbage Collection 의 특징파이썬 3.12의 "Precise Garbage Collection"은 메모리 관리의 효율성을 높이고 성능을 최적화하기 위한 중요한 개선 사항 중 하나입니다. 이 기능은 특히 메모리 사용이 중요한 애플리케이션에서 메모리 누수를 줄이고, 전체 메모리 사용량을 관리하는 데 큰 도움이 됩니다.가비지 컬렉션(Garbage Collection)이란?가비지 컬렉션은 프로그램 실행 중 더 이상 사용되지 않는 메모리(즉, 참조되지 않는 객체들)를 자동으로 해제하여 메모리 누수를 방지하는 기술입니다. 파이썬은 기본적으로 참조 카운팅(reference counting)과 순환 참조(cyclic reference)를 처리하는 가비지 컬렉션 시스템을 사.. 2024. 8. 20.
파이썬 3.12 의 'match' 기능 사용 방법 (패턴 매칭 기능) 파이썬 3.12 의 'match'  기능 사용 방법 (패턴 매칭 기능)파이썬 3.12에서의 match 문은 기존에 도입된 패턴 매칭 기능을 더욱 확장하고 강화한 기능입니다. match 문은 복잡한 조건에 따라 다양한 패턴을 매칭하여 코드를 더 간결하고 가독성 좋게 작성할 수 있게 해줍니다. 이는 특히 여러 가지 케이스에 따라 서로 다른 처리가 필요한 상황에서 매우 유용합니다.match 문 기본 구조기본 구조에서 value의 값에 따라 각기 다른 처리가 이루어집니다._는 와일드카드로, 어떠한 값이라도 매칭될 수 있는 기본 케이스를 나타냅니다.def process(value): match value: case 1: print("Matched the integer 1") .. 2024. 8. 20.
파이썬 3.12의 CPython 개선사항 정리 (Python 성능관련 CPython ) 파이썬 3.12의 CPython 개선사항 정리 (파이썬 성능향상 관련된 CPython)파이썬 3.12에서의 CPython 개선은 파이썬 성능 향상의 중심에 있습니다. CPython은 파이썬 언어의 참조 구현(reference implementation)으로, 가장 널리 사용되는 파이썬 인터프리터입니다. CPython은 C 언어로 작성되었으며, 파이썬 코드를 바이트코드(bytecode)로 컴파일한 후, 이를 인터프리트(interprete)하여 실행합니다. 파이썬 3.12에서는 CPython의 내부 구조와 실행 방식이 상당히 개선되었습니다.CPython 3.12에서의 주요 개선 사항Faster CPython Initiative:파이썬 3.12의 성능 개선은 "Faster CPython" 프로젝트의 일부로 이.. 2024. 8. 19.
반응형