1. 파이썬의 객체 파이썬은 다양한 종류의 객체를 지원합니다. 파이썬의 객체는 수정 가능한 타입과 수정 불가능한 두 가지 타입으로 분류 할 수 있습니다. 오늘은 수정 불가능한 객체인 immutable 과 수정 가능한 객체인 mutable에 대하여 알아보도록 하겠습니다. 2. Mutable 객체란? Mutable 객체는 생성된 후에도 상태나 값이 변경될 수 있는 객체 입니다. 이 객체는 메모리에 할당된 후에도 내용을 변경하거나 업데이트 할 수 있습니다. 가변 객체 (Mutable Objects) - 가변 객체는 생성된 후에도 그 상태를 변경할 수 있습니다. - 가변 객체에는 list, dict, set 와 같은 타입의 객체가 있습니다. - 가변 객체를 수정하면, 메모리의 동일한 주소에 있는 객체가 변경됩니..
파이썬은 동적 프로그래밍 언어로서, 클래스와 객체를 다루는데에 있어 유연하고 강력한 기능을 제공합니다. 이번 글에서는 파이썬의 메타클래스와 동적 클래스에 대해 알아보도록 하겠습니다! 1. 메타클래스의 역할 메타 클래스는 클래스의 클래스의 템플릿으로 'type' 클래스 자체도 사실은 메타 클래스의 한 예입니다. 메타 클래스를 활용하면 새로운 클래스를 정의할 때 생성 과정을 제어하거나 클래스에 추가 속성을 부여할 수 있습니다. class Meta(type): def __new__(cls, name, bases, attrs): # cls: 메타클래스 자체를 나타냅니다. # name: 생성될 클래스의 이름입니다. # bases: 생성될 클래스가 상속받는 클래스들의 튜플입니다. # attrs: 생성될 클래스의 속..
파이썬은 강력한 기능과 유연성을 제공하는 프로그래밍 언어입니다. 그러나 이러한 편의성은 메모리 관리 측면에서 과도한 부담을 야기할 수 있습니다. 이에 대비하여 파이썬은 가비지 컬렉션 메커니즘을 통해 메모리를 효율적으로 관리하는데 이번 글에서는 가비지 컬렉션에 대하여 알아보도록 하겠습니다! 1. 가비지 컬렉션이란? Garbage Collection이란? 가비지 컬렉션(Garbage Collection)은 프로그래밍 언어에서 동적으로 할당된 메모리 중에서 더 이상 사용되지 않는 메모리블록을 자동으로 감지하고 해제하는 프로세스를 의미합니다. 2. 가비지 컬렉션의 역할? Garbage Collection의 역할? 가비지 컬렉션(Garbage Collection)은 위에서 설명한 것처럼 메모리를 해제하는 과정, ..
1. 네임스페이스란? Namespace란? 네임스페이스는 변수와 이름들이 저장되는 공간을 의미합니다. 파이썬은 개발자가 변수나 함수를 만들때마다 어딘가에 이를 저장하게 되는데, 이 저장 공간이 바로 네임스페이스 입니다. 2. 그럼 스코프는? Scope란? 스코프는 변수의 유효범위를 나타냅니다. 파이썬에서는 각각의 함수, 클래스, 모듈이 별도의 스코프를 가집니다. 또한 변수의 사용가능 여부는 스코프에 의하여 결정됩니다. 변수는 자신이 정의된 스코프와 하위 스코프에서 사용할 수 있습니다. 아래 예제와 설명을 통하여 알아보도록 하겠습니다. 예제 # 전역 네임스페이스와 스코프 global_variable = 10 def example_function(): # 함수 내부 네임스페이스와 스코프 local_varia..
오늘은 파이썬을 활용하여 파일을 다루는 방법에 대하여 알아보도록 하겠습니다. 1. 파일 입출력의 기본 개념 파일 입출력은 프로그램과 파일 간의 데이터 흐름을 관리하는 방법을 의미합니다. 파이썬에서 파일 입출력은 'open ()' 함수를 사용하여 파일을 열고, 'read()', 'write()' 함수를 사용하여 데이터를 읽고 쓸 수 있습니다. 파일을 열때 파일 경로와 함께 모드를 지정하여 이를 정할 수 있습니다. 아래 내용을 통하여 같이 알아보도록 하겠습니다! 2. 파일 읽기와 쓰기 1) 파일 읽기 'with' 문을 사용하여 파일을 열면 블록 내에서 파일을 사용 한 후 자동으로 닫히게 됩니다. 'read()' 통해 내용을 한번에 읽어올 수 있습니다. with open('파일경로', 'r') as file:..
파이썬에는 매우 다양한 내장 함수와 표준 라이브러리가 존재합니다. 오늘은 파이썬 내장 함수와 표준 라이브러리에 대하여 알아보도록 하겠습니다! 1. 파이썬 내장 함수, 내장 함수란? 내장 함수란 별도의 모듈 임포트 없이 바로 사용할 수 있는 함수로 프로그래밍 작업을 보다 간결하게 처리할 수 있도록 해줍니다. 내장 함수의 목록을 일부 나열하면 다음과 같습니다. print(): 화면에 텍스트나 변수 값을 출력합니다. len(): 시퀀스 데이터(문자열, 리스트 등)의 길이를 반환합니다. input(): 사용자로부터 텍스트를 입력받습니다. int(), float(), str(): 값을 정수, 실수, 문자열 형태로 변환합니다. range(): 숫자의 범위를 생성하는 객체를 반환합니다. list(), tuple(),..
파이썬은 반복문을 사용하여 리스트, 집합, 딕셔너리등을 생성하거나 변환하는 간결하고 효율적인 방법을 제공하는데 오늘은 이 방법 중 하나인 컴프리헨션을 알아보도록 하겠습니다! 1. 컴프리헨션의 정의? 컴프리헨션이란? 컴프리헨션은 파이썬에서 리스트, 집합, 딕셔너리 등의 시퀀스 데이터를 생성하거나 변환하는데 사용되는 구문입니다. 2. 컴프리헨션을 쓰는 이유는? 컴프리헨션은 기존의 반복문을 간결하게 표현하여 코드의 가독성을 향상시키고, 동시에 실행속도를 향상 시킬 수 있는 장점을 제공합니다. 3. 구문 작성 방법, 컴프리헨션 작성법 1 ) 리스트 컴프리헨션(List Comprehension) 컴프리헨션이 가장 많이 사용되는 부분이 바로 리스트 컴프리헨션입니다. 예제를 통해 알아보도록 하겠습니다! 기본 예제 n..
오늘은 개발자라면 중요하게 생각해야하는 코드의 높은 안정성을 위한 예외처리에 대하여 알아보도록 하겠습니다. 어떤 언어든 예외처리하는 방법이 존재하고 비슷한 개념을 가지고 있기에 저는 파이썬의 예외처리를 기본으로 하여 설명드리도록 하겠습니다! 1. 예외 처리는 왜 중요한가? 예외 처리의 중요성 일단 예외처리가 왜 중요한지에 대하여 알아보도록 하겠습니다. 예외처리는 프로그램의 안정성과 신뢰성을 보장하는 핵심적인 요소입니다. 예외는 런타임 도중 발생하는 문제를 나타내는데 이러한 문제가 발생하더라도 프로그램이 비정상적으로 종료되지 않도록 하는것이 중요합니다. 예외가 발생하더라도 개발자가 유도하는 방향으로 정상적 종료가 되어야 추후 작업에 문제가 없고 비정상적으로 종료되어 발생하는 많은 문제를 사전에 예방할 수 ..