본문 바로가기

전체 글

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보다 큰 경우에는 아직 구현되지 않은 내용을 나타내기 위.. 더보기
python의 bulit-in data type(내장 데이터 유형)에 대해서 알아보자 파이썬에서는 여러 가지 내장 데이터 유형(Built-in Data Types)을 제공합니다. 내장 데이터 유형은 기본적인 데이터 타입으로, 추가적인 라이브러리 설치 없이 바로 사용할 수 있습니다. 파이썬의 주요 내장 데이터 유형은 다음과 같습니다: 1. 정수형(Integer): 정수를 표현하는 데이터 유형입니다. 음의 정수, 0, 양의 정수 등을 표현할 수 있습니다. 2. 실수형(Float): 소수점을 포함하는 실수를 표현하는 데이터 유형입니다. 부동소수점 방식으로 표현됩니다. 3. 문자열(String): 문자들의 시퀀스로 이루어진 데이터 유형입니다. 작은 따옴표('')나 큰 따옴표("")로 묶어서 표현합니다. 4. 불린(Boolean): 논리값을 표현하는 데이터 유형으로, 참(True) 또는 거짓(Fa.. 더보기
Python dict(사전)형식에서 List를 사용해보자 사전(Dict)에 리스트를 포함하는 예제를 작성해보겠습니다. 사전 내에 리스트를 값으로 가지는 경우, 각 키(Key)는 해당 리스트에 접근하는 데 사용될 수 있습니다. 예제: # 사전에 리스트를 포함하는 예제 student_scores = { 'John': [85, 90, 78], 'Alice': [92, 88, 95], 'Bob': [78, 84, 80] } print(student_scores['John']) # John의 성적 리스트에 접근 print(student_scores['Alice']) # Alice의 성적 리스트에 접근 출력 결과: [85, 90, 78] [92, 88, 95] 위 예제에서 `student_scores` 사전은 학생들의 이름을 키로 가지며, 각 학생의 성적을 리스트로 값으.. 더보기

반응형