본문 바로가기

파이썬/파이썬 기초 문법25

클로저와 데코레이터 1. 클로저내부 함수가 외부 함수의 스코프에서 정의된  변수를 참조할 수 있는 기능이다.def mul2(n): return n*2 print(mul2(10))print(mul2(5))def mul5(n): return n*5 print(mul5(10))print(mul5(5))class Mul: def __init__(self, m): self.m = m def mul(self, n): return self.m*n mul2 = Mul(2)print(mul2.mul(10))print(mul2.mul(5))mul5 = Mul(5)print(mul5.mul(10))print(mul5.mul(5))class Mul: def __init_.. 2024. 10. 14.
객체지향과 클래스 1. 객체지향 프로그래밍절차지향 프로그래밍 방식은 '입력-처리-출력'의 순차적인 절차를 따르며 코드를 위에서부터 아래로 실행하는 방식이다. 이는 데이터와 데이터를 처리하는 함수가 따로 존재하여 프로그램의 규모가 커지고 복잡해질 때 유지 보수가 힘들다. 하지만 객체지향 프로그래밍은 프로그램을 '객체'라는 기본 단위로 나누고 이러한 객체들 간의 상호 작용을 서술하는 방식으로써 코드의 확장 및 재사용성이 용이하다. 2. 클래스객체를 만들 때 설계도와 같은 역할을 한다. 객체를 만들 때 사용하는 하나의 틀로써 이 안에 속성(멤버)을 변수, 동작을 메서드(멤버 함수)로 정의한다.class 클래스이름: # 클래스 속성(멤버 변수) 정의 속성1 = 초기값1 속성2 = 초기값2 # 생성자 메서드 .. 2024. 10. 14.
파이썬 콜백 함수와 람다 함수 1. 콜백 함수(Callback Function)다른 함수의 인자로 전달되어 실행되는 함수이다. 일반적으로 어떤 작업이 완료된 후 특정 동작을 수행하기 위해 사용된다.def callback_func(func): for i in range(5): func() def print_hello() print('안녕하세요 파이썬' print_hello()callback_func(print_hello)def callback_func(func, num): for i in range(num): func(i) def print_hello(num): print('안녕하세요 파이썬', num) def print_hi(num): print('하이 파이썬', num) cal.. 2024. 10. 7.
파이썬 변수의 범위 1. 스코프(scope)   1-1. 지역 변수(Local): 내부 함수에서만 사용할 수 있는 변수이다 .def local_func(): local_var = '로컬 변수' print(local_var) local_func()print(local_var) # NameError: name 'local_var' is not defined 1-2. 둘러싼 범위(Enclosin): 내부 함수에서 외부 함수의 변수를 참조할 때 해당 외부 함수의 범위를 의미한다.def outer_func(): enclosing_var = '둘러싼 범위 변수' def inner_func(): print(enclosing_var) inner_func() outer_func()inner.. 2024. 9. 30.
파이썬 사용자 정의 함수와 None 1. 사용자 정의 함수파이썬에선 특정 작업을 수행하기 위해 사용자가 직접 함수를 만들 수 있다. 함수를 만들면 메모리에 객체 형태로 올라가고 이 함수를 불러와서 사용할 수 있다.def 함수명(매개변수1, 매개변수2, ...):    # 함수 내용    return 결과값   1-1. 매개변수와 반환 값이 없는 함수def func1(): print('처음으로 만드는 함수') func1()func1()func1()for i in range(5): func1()func1()temp = func1()print(temp) 1-2. 매개변수가 있고 반환 값이 없는 함수def func2(num): print(f'입력받은 숫자: {num}') func2(100)func2(5)def func3.. 2024. 9. 30.
파이썬의 컬렉션과 반복문 1. 리스트와 for문li1 = ['apple', 'banana', 'orange', 'melon']for i in li1: print(i, end = ' ') score = [90, 30, 50, 60, 80, 70, 100, 40, 20, 10]count = 0for i in score: if i >= 60: count += 1print(f'60점 이상인 학생의 수는 {count}명입니다')  2. 딕셔너리와 for문dic1 = {'no':1, 'userid':'apple', 'name':'김사과', 'hp':'010-1111-1111'}for i in dic1: print(i, end= ' ' )딕셔너리는 for문에서 i 값에 키(Key)만 들어간다. for문을 사용할 때 ... 2024. 9. 26.