본문 바로가기

파이썬30

클로저와 데코레이터 5.클로저 클로저(Closure)는 프로그래밍 언어에서 중요한 개념 중 하나로, 함수와 그 함수가 참조하는 외부 변수(또는 자유 변수) 사이의 관계를 나타냅니다. 클로저는 함수의 내부에서 정의된 함수로, 내부 함수가 외부 함수의 변수에 접근할 수 있고, 외부 함수는 내부 함수를 반환할 수 있습니다. 이로 인해 함수와 그 함수가 참조하는 상태(변수)를 함께 저장하고 유지할 수 있습니다. 일반적인 함수 및 클래스 사용 def mul2(n): return n * 2def mul5(n): return n * 5print(mul5(10)) print(mul5(5))class Mul: def __init__(self, m): self.m = m def mul(self, n): return self.m * nmul2.. 2024. 3. 19.
파이썬 - 객체지향과 클래스 1. 객체지향 프로그래밍 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어를 설계하고 구현하는 데 사용되는 중요한 프로그래밍 패러다임 중 하나입니다. 이 패러다임은 프로그램을 "객체"라고 불리는 독립적인 개체로 나누고, 이러한 객체들 간의 상호작용을 통해 프로그램을 구성하는 개발 방법론입니다. ※절차지향 프로그래밍 절차지향프로그래밍은 프로그램을 작성할 때 일련의 절차 또는 단계에 따라 코드를 구성하는 방식입니다. 이러한 단계나 절차들은 주로 함수나 서브루틴으로 나누어져 있으며, 각각의 함수는 특정한 작업을 수행합니다. 주로 '입력 - 처리 - 출력'의 순차적인 절차를 따르며, 코드를 위에서부터 아래로 실행하면서 데이터를 처리하는 방식으로 동작합니다.. 2024. 3. 18.
파이썬 - 콜백함수와 람다함수 1. 콜백함수(callback function) 콜백 함수는 다른 함수에 인자로 전달되어, 어떤 이벤트나 특정 조건에서 실행되게 되는 함수를 말합니다. 콜백 함수는 주로 비동기 작업이나 특정 이벤트 발생 시점에 어떤 동작을 수행할 때 사용됩니다. 동기식은 시간이 많이 걸려도 무조건 순서대로 처리를 하고, 비동기식은 순서상관없이 속도가 빠른 것들부터 먼저 처리를하고 느린것들은 나중에 처리를한다 def callback_func(func):# 함수의 메모리 전달 for i in range(5): func() # 전달받은 함수를 실행 def print_hello(): print('안녕하세요! 파이썬!') print_hello() 안녕하세요! 파이썬! callback_func(print_hello) 안녕하세요! .. 2024. 3. 18.
파이썬 - 변수의 범위 1. 스코프(scope) 파이썬에서 변수의 범위(scope)는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역을 의미합니다. 파이썬의 변수 범위는 크게 네 가지로 분류됩니다 1-1. Local(지역) Local scope는 변수가 함수 내에서 정의될 때 해당 함수 내부를 의미합니다. def local_example(): local_var = '로컬 변수' print(local_var) local_example() # print(local_var) NameError: name 'local_var' is not defined 결과: 로컬 변수 local변수는 함수를 실행할때만 생성이되고 해당 블록이 끝나는순간 변수는 사라지게 된다. 1-2. Enclosing(둘러싼 범위) Enclosing sco.. 2024. 3. 18.