본문 바로가기

Computer & Program121

[python] Decorator(데코레이터) - 01 안녕하세요. TDR입니다. 오늘은 Decorator에 대해서 간략히 정리해 보겠습니다. 이전 포스팅에서 @classmethod, @staticmethod와 같은 표현을 보셨을 겁니다. 이게 decorator였습니다. 우선 decorator가 어떤건지 간략히 설명 드리면 다음과 같습니다. 장식자라고도 불리며, 기존 코드를 수정하지 않으면서 추가 기능을 추가할 수 있습니다. 간단한 예를 보면 다음과 같습니다. def start_end(func): def wrapper(): # 관행적으로 이 이름을 씀 print('>> ' + func.__name__ + ' Start') func() # some_function() 호출 print('>> ' + func.__name__ + ' End') return wrap.. 2024. 2. 29.
[python] Assert(어설트) 안녕하세요. TDR입니다. 오늘은 python에서의 Assert의 사용법에 대해서 간략히 정리해보겠습니다. Assert(어설트) fruits = str(input('사과는 영어로? : ')) # banana 입력 ## assert format # assert , assert fruits == 'apple', '사과 영어로 뭔지 모르세요?' ## Result # assert fruits == 'apple', '사과 영어로 뭔지 모르세요?' # ^^^^^^^^^^^^^^^^^ # AssertionError: 사과 영어로 뭔지 모르세요? 위와 같이 assert의 조건문이 False를 반환하면 AssertionError를 발생시키며 메시지를 출력하게 됩니다. AssertionError도 Exception을 상속.. 2024. 2. 28.
[python] try-except (예외처리) 안녕하세요. TDR입니다. 오늘은 python에서의 예외처리(try-except)에 대해서 간략히 정리해보겠습니다. class Custom01Exception(Exception): def __init__(self, msg): super().__init__(msg) class Custom02Exception(Exception): def __init__(self, msg): super().__init__(msg) def step_01(): try: raise Custom01Exception('Custom01Exception!') except Exception as msg: print('step01 exception : ' + str(msg)) raise def step_02(): try: step_01() .. 2024. 2. 27.
[python] class(클래스) - 03 안녕하세요. TDR입니다. 2부에 이서 클래스 상속, 추상 클래스에 대해서 간략히 정리해 보겠습니다. [python] class(클래스) - 01 안녕하세요. TDR입니다. 이번에는 python에서 class를 어떻게 선언하고 어떤 식으로 사용하는지 간략히 정리해 보겠습니다. Default format class SomeClass: # 생성자 def __init__(self): pass def set_fruits(self, fruits) tdremon.tistory.com [python] class(클래스) - 02 안녕하세요. TDR입니다. 오늘은 1부에 이어 비공개, 정적 , 클래스 메소드에 대해서 간략히 정리해 보겠습니다. [python] class(클래스) - 01 안녕하세요. TDR입니다. 이번.. 2024. 2. 26.
[python] class(클래스) - 02 안녕하세요. TDR입니다. 오늘은 1부에 이어 비공개, 정적 , 클래스 메소드에 대해서 간략히 정리해 보겠습니다. [python] class(클래스) - 01 안녕하세요. TDR입니다. 이번에는 python에서 class를 어떻게 선언하고 어떤 식으로 사용하는지 간략히 정리해 보겠습니다. Default format class SomeClass: # 생성자 def __init__(self): pass def set_fruits(self, fruits) tdremon.tistory.com Private method(비공개 메소드) class SomeClass: def __init__(self): pass def public_method(self): print('Public method!') self.__pr.. 2024. 2. 25.
[python] class(클래스) - 01 안녕하세요. TDR입니다. 이번에는 python에서 class를 어떻게 선언하고 어떤 식으로 사용하는지 간략히 정리해 보겠습니다. Default format class SomeClass: # 생성자 def __init__(self): pass def set_fruits(self, fruits): self.fruits = fruits def get_fruits(self): return self.fruits def set_count(self, count): self.count = count def get_count(self): return self.count class_obj = SomeClass() class_obj.set_fruits('apple') class_obj.set_count(10) print(.. 2024. 2. 24.
[python] 지역변수 & 전역변수 안녕하세요. TDR입니다. 오늘은 python의 조금 특이한 전역변수 및 지역변수 대해서 정리해 보겠습니다. global_var01 = 'global_var01' def main_func(): global global_var01 global global_var02 global_var02 = 'global_var02' main_var = 'main_var' global_var01 = 'edit sub_func : global_var01' print(main_var) # main_var def sub_func(): nonlocal main_var print(main_var) # main_var main_var = 'edit sub_func : main_var' print(main_var) # edit sub.. 2024. 2. 23.
[python] function(함수) - 02 안녕하세요. TDR 입니다. 지난번 함수 1부에 이어 가변인수, 키워드 인수 등에 대해서 정리해 보겠습니다. [python] function (함수) - 01 안녕하세요. TDR입니다. 오늘은 python function(함수)의 여러가지 사용법을 정리해 보겠습니다. Structure def 함수이름(매개변수들): ... return 반환값들 함수 선언은 def 키워드를 통해 이루어지고 다른 tdremon.tistory.com Variable argument(가변인수) def some_function(a, b, *args) print(a) # 1 print(b) # 2 for arg in args: print(arg) # 3, 4, 5 some_function(1, 2, 3, 4, 5) 함수를 작성하다보.. 2024. 2. 22.
[python] function (함수) - 01 안녕하세요. TDR입니다. 오늘은 python function(함수)의 여러가지 사용법을 정리해 보겠습니다. Structure def 함수이름(매개변수들): ... return 반환값들 함수 선언은 def 키워드를 통해 이루어지고 다른 언어와 다른 점은 python에는 변수의 타입을 지정하지 않기 때문에 반환 타입 역시 지정하지 않습니다. 그리고 return 값으로 여러개를 반환이 가능합니다! (이거 정말 편합니다!) def multi_return(): return 1, 2, 3 a, b, c = multi_return() # a = 1, b = 2, c = 3 result = multi_return() # type(result) : tuple, result = (1, 2, 3) 여러개의 return을 .. 2024. 2. 21.
[python] closure(클로저) 안녕하세요. TDR입니다. 오늘은 python에서 closure(클로저)라는 개념에 대해서 정리해 보겠습니다. closure란, 함수와 함수가 선언된 환경을 함께 가지는 개념을 말합니다. 이렇게 말하면 무슨 말인지 하나도 이해가 안가기 때문에 간단한 예시를 보면, def outer_function(x): y = 10 # 내부 함수를 정의하고 반환 (클로저) def inner_function(z): return x + y + z return inner_function # outer_function 호출. closure_func에는 inner_function이 저장되어 있음 closure_func = outer_function(5) # outer_function 내부에 있는 변수 y에 접근할 수 있음 pri.. 2024. 2. 17.
[python] lambda(람다) 안녕하세요. TDR입니다. 오늘은 python에서의 lambda를 사용하는 방법에 대해서 정리해 보겠습니다. 우선 lambda가 무엇인지 부터 알아보면 (언어마다 약간의 차이는 있지만) 간략한 익명함수를 생성하는 것을 말합니다. python에서도 간략한 한줄짜리 함수를 굳이 함수로 선언 안하고 간략하게 쓰고 싶을 경우 많이 사용합니다. 우선 lambda의 기본 형태를 먼저 살표 보겠습니다. # 기본 형태 lambda : # 기존 함수와 비교 def (): return 위 코드를 보시면 기존 함수와 비교했을 때, 과 return 키워드가 생략되었습니다. 즉, lambda는 함수의 이름을 가지지 않으며(익명 함수), 은 자동으로 return이 되는 것을 알 수 있습니다. python에서는 함수를 변수에 저장.. 2024. 2. 16.
[python] reduce 함수 안녕하세요. TDR입니다. 오늘은 python에서의 reduce 함수에 대해서 정리해 보겠습니다. reduce 함수는 쉽게 설명하면, 반복 가능한 객체에 저장된 숫자(numeric)들을 받아서 모두 더한 값을 반환해주는 함수 입니다. reduce를 쓰지 않고 일반적인 방법으로 구현을 한다면 아래와 같은 형태가 됩니다. def accumulate(x, y): return x + y list_obj = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 값을 누적 시작 전의 초기값 설정 init_value = 1 res = init_value for i in list_obj: res = accumulate(res, i) print(res)# 46 위 코드를 reduce를 써서 변경을 하면 다음과 같.. 2024. 2. 15.