Programming/python 썸네일형 리스트형 python에서 self에 대해서 알아보자 파이썬에서 `self`는 클래스의 인스턴스(객체)를 참조하는 특별한 매개변수입니다. 클래스의 메서드(함수) 정의 시 첫 번째 매개변수로 `self`를 명시하는 것이 관례입니다. 이를 통해 메서드가 해당 클래스의 인스턴스에 접근하여 속성을 읽거나 수정할 수 있습니다. 클래스와 같은 구조에서 생성된 객체는 개별적인 의미를 가지기 때문에 여러 개가 선언되더라도 각 객체는 자신만의 독립적인 존재입니다. 이러한 독립성을 유지하며 객체를 생성할 때, 파이썬에서는 이를 특정하기 위해 self라는 매개변수를 사용합니다. 클래스는 객체를 생성하는 템플릿이며, 객체는 해당 클래스의 인스턴스입니다. 클래스는 객체의 동작을 정의하고, 객체는 클래스에서 정의된 동작을 실제로 수행합니다. self 매개변수는 이러한 동작의 연결 .. 더보기 python 에서 global, protected, private에 대해서 알아보자 (전역과 보호) 파이썬에서 전역(global), 보호된(protected), 그리고 비공개(private) 속성은 객체 지향 프로그래밍(OOP)에서 사용되는 속성(데이터 멤버)의 종류입니다. 1. 전역 속성 (Global attributes): 전역 속성은 클래스 안이 아니라 모듈 수준에서 정의되는 속성입니다. 모듈 전체에서 사용 가능하며, 다른 모듈에서도 호출할 수 있습니다. 전역 속성은 보통 상수나 설정 값을 저장하는데 사용됩니다. 예를 들어, 다음과 같은 파이썬 모듈에서 전역 속성을 정의할 수 있습니다: # 모듈 수준에서 전역 속성 정의 global_variable = 10 def some_function(): print(global_variable) 2. 보호된 속성 (Protected attributes): 보.. 더보기 python lambda에 대해서 알아보자 파이썬에서 람다(lambda)는 간단한 익명 함수를 생성하는데 사용되는 함수입니다. 람다 함수는 `lambda` 키워드를 사용하여 정의하며, 주로 간단한 연산을 수행하는 함수를 한 줄로 표현할 때 유용합니다. 일반적으로 함수를 정의하기 위해 `def` 키워드를 사용하지만, 람다 함수는 더 간단하게 함수를 만들 수 있습니다. 람다 함수의 구문은 다음과 같습니다: lambda arguments: expression - `arguments`: 람다 함수의 매개변수들입니다. - `expression`: 매개변수를 이용하여 계산하고 반환할 표현식입니다. 람다 함수는 단일 표현식만을 사용할 수 있기 때문에, 복잡한 함수를 정의하기에는 적합하지 않습니다. 주로 간단한 함수나 콜백 함수 등을 정의할 때 사용되며, `m.. 더보기 python의 주요 decorator에 대해서 알아보자 파이썬에서는 다양한 유용한 데코레이터들이 있습니다. 여러 데코레이터 중에서 주요한 데코레이터 몇 가지를 소개하고, 간단한 예제를 작성해보겠습니다. 1. `@staticmethod` 정적 메서드를 정의할 때 사용합니다. 정적 메서드는 클래스의 인스턴스 없이 호출될 수 있습니다. class MathUtils: @staticmethod def add(x, y): return x + y # 클래스 인스턴스 없이 정적 메서드 호출 result = MathUtils.add(5, 3) print(result) # Output: 8 2. `@classmethod` 클래스 메서드를 정의할 때 사용합니다. 클래스 메서드는 클래스 자체를 첫 번째 인자로 받으며, 인스턴스를 사용하지 않아도 호출할 수 있습니다. class M.. 더보기 python decorators에 대해서 알아보자 파이썬에서 데코레이터(Decorators)는 다른 함수를 수정하거나 기능을 추가하는 함수입니다. 데코레이터를 사용하면 함수의 코드를 변경하지 않고도 기존 함수의 동작을 확장하거나 데코레이터가 제공하는 기능을 추가할 수 있습니다. 데코레이터는 주로 코드 재사용과 함수들 간의 공통 기능을 추가하는데 유용하게 사용됩니다. 데코레이터는 함수를 입력으로 받고, 함수를 반환하는 클로저(Closure)의 형태로 작성됩니다. 일반적으로 `@decorator_name` 형태로 함수 위에 데코레이터를 사용합니다. 간단한 예제를 통해 데코레이터의 동작 방식을 살펴보겠습니다: def simple_decorator(func): def wrapper(): print("Something is happening before the .. 더보기 python Scope Resolution(스코프 결정)에 대해서 알아보자 파이썬에서 스코프 결정(Scope Resolution)은 변수나 함수 등의 이름을 찾는 과정을 말합니다. 즉, 코드에서 식별자(변수, 함수, 클래스 등)를 사용할 때 파이썬 인터프리터가 해당 식별자를 어떤 네임스페이스에서 찾는지 결정하는 과정을 의미합니다. 파이썬은 변수나 함수의 스코프를 기준으로 식별자를 찾습니다. 파이썬에서는 크게 두 가지 스코프를 가집니다: 1. 전역 스코프(Global Scope): 전역 스코프는 코드의 가장 바깥쪽에 정의된 변수, 함수, 클래스 등을 포함하는 스코프입니다. 즉, 모듈 수준에서 정의된 식별자들은 해당 모듈의 전역 스코프에 속합니다. 전역 스코프에 정의된 식별자들은 모든 함수와 클래스에서 사용할 수 있습니다. 2. 지역 스코프(Local Scope): 지역 스코프는 .. 더보기 python의 namespaces에 대해 알아보자 파이썬 네임스페이스(Namespace)란 변수들의 이름과 그들이 가리키는 객체들 간의 매핑을 저장하는 공간입니다. 파이썬은 네임스페이스를 사용하여 식별자(변수, 함수, 클래스 등)들을 저장하고 구분합니다. 이는 파이썬에서 변수 이름 충돌을 방지하고 모듈화를 지원하는 데 중요한 역할을 합니다. 파이썬은 다음과 같은 세 가지 주요 네임스페이스를 가지고 있습니다: 1. Built-in Namespace (내장 네임스페이스): 이 네임스페이스에는 파이썬에서 기본적으로 제공하는 내장 함수 (예: print(), len())와 예약어들이 포함됩니다. 이 네임스페이스의 변수와 함수들은 어떤 파일이나 모듈을 import 하지 않아도 바로 사용할 수 있습니다. 2. Global Namespace (전역 네임스페이스): .. 더보기 python의 메모리 관리에 대해서 알아보자 파이썬은 고급 프로그래밍 언어로, 메모리 관리는 파이썬 인터프리터에 의해 자동으로 처리됩니다. 파이썬은 CPython, Jython, IronPython, PyPy 등 다양한 구현체가 있지만, 대부분의 파이썬 구현체에서 메모리 관리는 비슷한 원리로 동작합니다. 아래는 파이썬의 메모리 관리 방식에 대한 간략한 설명입니다. 1. 참조 카운팅 (Reference Counting): 파이썬은 객체의 참조 카운트를 통해 메모리를 관리합니다. 모든 객체는 참조 카운트를 가지며, 해당 객체를 참조하는 변수나 데이터 구조가 있을 때마다 참조 카운트가 증가하고, 참조가 해제될 때마다 참조 카운트가 감소합니다. 참조 카운트가 0이 되면 해당 객체는 더 이상 사용되지 않으며, 파이썬 인터프리터가 자동으로 메모리를 해제합니다.. 더보기 이전 1 2 3 4 5 다음