Language/Python

이 글은 이전 글인 “파이썬의 숨겨진 심장박동, 레퍼런스 카운팅”을 보고오시면 더 쉽게 이해하실 수 있습니다. Global Interpreter Lock (GIL)의 역할 Global Interpreter Lock(GIL)은 파이썬 객체에 대한 접근을 보호하는 뮤텍스로, 여러 스레드가 동시에 파이썬 바이트코드를 실행하는 것을 방지합니다. GIL은 경쟁 상태를 방지하고 스레드 안전성을 보장합니다. 위의 글의 내용은 파이썬 위키에서 발췌한 내용입니다. 이는 파이썬 멀티 스레드 환경에서는 동일한 메모리 공간(힙 메모리)를 통해 자원을 공유하기 때문에 각각의 스레드가 이러한 자원을 동시에 사용하고자 할 때 경쟁 상태(Race Condition)를 예방하고 스레드의 안정성을 보장하기 위해 고안된 파이썬 만의 기법..
개요 파이썬은 편리성과 강력함으로 많은 개발자에게 사랑받는 프로그래밍 언어입니다. 파이썬에서 편리함을 주는 기능들은 많이 있겠지만 자동적으로 진행되는 Garbage Collection(GC)도 하나의 큰 요소로 작용합니다. 파이썬의 가비지 컬렉션(GC) 시스템은 자동으로 메모리 관리를 수행함으로써, 개발자가 프로그램의 복잡성에 신경 쓰지 않고 더 중요한 알고리즘 구현과 최적화에 집중할 수 있도록 도와줍니다. 이는 특히 메모리 관리가 필수적인 큰 프로젝트나 서비스에서 더욱 큰 장점으로 작용합니다. 해당 글은 이전 글인 ”파이썬은 모든 것이 객체?”를 보고 오시면 이해가 더 쉽습니다. 파이썬의 가비지 컬렉션 방식 레퍼런스 카운팅(Reference Counting) 마크-앤-스윕(Mark-and-Sweep) ..
개요 파이썬에서 리스트가 메모리에 배치되었을 때 아래의 그림처럼 할당된 리스트의 마지막 이후처럼 메모리가 사용되고 있을때 리스트의 요소가 추가 되었을 때 어떻게 메모리가 할당 되는가에서 나온 궁금증이다. 일단 파이썬의 리스트 요소들은 연속적인 메모리 주소를 가지지 않는다는 것을 말하고 다음으로 넘어가려고 한다. 파이썬의 리스트 특징 리스트를 선언할 때 크기를 미리 정할 필요가 없다. 리스트를 만들 때 저장할 데이터의 타입을 사전에 정하지 않아도 된다. 한 리스트에 다양한 타입의 데이터를 함께 저장할 수 있다. 파이썬 리스트의 저장 구조 리스트는 이중 포인터가 리스트 요소의 주소를 가지는 배열을 가리키고 주소가 요소를 가리키는 구조로 구현된다. 각 요소는 메모리 상에서 서로 다른 위치에 있을 수 있기 때문..
개요 파이썬에서 모든 것은 객체(object)라는 문구를 보고 궁금하여 작성하게 된 글이다. 파이썬에서 "모든 것이 객체"라는 말은 파이썬에서 사용되는 데이터와 함수, 모듈, 클래스 등이 모두 객체로 구현되어 있다는 것을 의미합니다. 이는 각 요소가 데이터와 함수(메서드)를 모두 포함할 수 있다는 뜻이며, 이 객체들이 속성과 메서드를 가질 수 있다는 것을 의미합니다. 객체 지향 프로그래밍의 핵심 개념을 파이썬이 근본적으로 통합하고 있음을 나타냅니다. 따라서 아래의 그림처럼 "1.1"이라는 실수 객체에 is_integer()라는 메소드를 통해 바로 결과값을 확인해 볼 수 있다는 뜻입니다. 자바(Java): 자바는 객체 지향 프로그래밍 언어이지만, 기본 데이터 유형(int, long, boolean 등)은 ..
개요 자바에 대한 함수 인자 전달 방식에 대한 얘기를 나누다가 파이썬에서는 함수에 인자를 어떻게 전달 받을까? 라는 의문으로 글을 작성하게 되었다. 결론 먼저 말하자면 역시 파이썬은 특이하다. 함수 인자 전달 방식 함수 인자 전달방식은 각각의 프로그래밍 언어마다 다른 방식을 사용하지만 비슷한 형태를 띄는데 일반적으로 사용되는 함수인자 전달 방식은 call-by-value (값에 의한 호출)와 call-by-reference (참조에 의한 호출)가 있다. 하지만 파이썬은 일반적으로 많이 사용되는 언어인 C언어와 JAVA와 다르게 함수 인자를 Call by assignment 형식으로 전달하기에 이를 알아보려고 한다. call-by-value (값에 의한 호출) 함수에서 값을 복사해서 전달해주는 방식으로, ..
hu-nie
'Language/Python' 카테고리의 글 목록