본문 바로가기

Python

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이 되면 해당 객체는 더 이상 사용되지 않으며, 파이썬 인터프리터가 자동으로 메모리를 해제합니다.. 더보기
python module과 pakage에 대해서 알아보자 (모듈 vs 패키지) 파이썬에서 모듈(Module)과 패키지(Package)는 코드를 구성하고 재사용하는 데 사용되는 중요한 개념입니다. 모듈(Module): - 모듈은 파이썬 코드를 담고 있는 파일입니다. 즉, 함수, 클래스, 변수 등을 정의하는 코드가 포함된 파일을 말합니다. - 모듈은 `.py` 확장자를 가지며, 다른 파이썬 파일에서 `import` 문을 사용하여 해당 모듈을 가져와서 사용할 수 있습니다. - 코드의 모듈화와 재사용성을 높이는 데에 사용됩니다. 패키지(Package): - 패키지는 모듈들의 집합입니다. 디렉토리에 여러 모듈들이 저장되어 있는 구조를 말합니다. - 패키지 내에는 `__init__.py` 파일이 존재해야 합니다. 이 파일은 해당 디렉토리를 패키지로 인식하게 해줍니다. - 패키지도 모듈과 마찬.. 더보기
python pass(빈블럭)에 대해서 알아보자 파이썬에서 `pass`는 빈 블록을 의미하는 키워드입니다. `pass`는 문법적으로 어떠한 동작도 하지 않지만, 코드 구조를 잡을 때 사용됩니다. 보통 조건문, 반복문, 함수 정의 등에서 구현 내용이 없을 때 사용하거나, 나중에 구현할 부분을 표시하는 용도로 사용됩니다. 특히 print문만 포함하는 if문에 대해서 추후 print문을 주석처리할경우 발생하는 에러에 대한 대비책으로 사용할 수 있습니다. 예제를 통해 살펴보겠습니다: # 예제 1: 조건문에서 pass 사용 x = 10 if x > 5: # x가 5보다 크면 뭔가를 실행해야 하는데 아직 구현되지 않음 pass else: print("x는 5보다 작거나 같습니다.") 위 예제에서 `x`가 5보다 큰 경우에는 아직 구현되지 않은 내용을 나타내기 위.. 더보기

반응형