본문 바로가기
728x90
반응형

함수5

파이썬 문법 : 데코레이터 함수 함수의 앞 뒤 부가적인 기능을 넣어주고 싶을때 사용한다 클로저를 사용해서 구현한다. 데코레이터는 @를 함수위에 적용하여 사용한다 def logger(func): def wrapper(): print("함수시작") func() print("함수종료") return wrapper @logger def print_hi(): print("hi") print_hi() # OUTPUT 함수시작 hi 함수종료 매개변수 전달 @logger def print_hi(name): print(name, 'hi') print_hi("tom") # OUTPUT print_hi("tom") TypeError: logger..wrapper() takes 0 positional arguments but 1 was given 위와 같이.. 2023. 3. 13.
파이썬 문법 : map, filter 함수 map 함수 map(함수, 순서가 있는 자료형) map 의 결과는 map object 이기 때문에 사용하기 편한 list 형태로 변환한다. def remove_blank(x): return x.strip() items=[' mouse', ' monitor '] items=list(map(remove_blank, items)) print(items) # output # ['mouse', 'monitor'] # 람다함수로 표기할 경우 items=list(map(lambda x:x.strip(), items)) filter 함수 filter(함수, 순서가 있는 자료형) def func(x): return x < 0 print(list(filter(func, [-3, 0, 2, 7, -7]))) # output.. 2023. 2. 28.
파이썬 문법 : 람다 함수 람다함수를 사용하면 코드가 간결해진다 메모리 사용이 효율적이다. # 람다함수 선언 방법 lambda a : a-1 # 호출방법 1 : 그대로 호출 print ((lambda a:a-1)(10)) # 호출방법 2 : 변수에 담아서 호출 minus_ten = lambda a : a-10 print (minus_ten(100)) # 람다함수 if 문 사용 def is_positive_num(a): if a > 0: return True else: return False lambda a : True if a > 0 else False 개인적으로 함수 자체를 호출하는 방법보다는 변수에 담아서 호출하는게 가독성에는 더 좋아보인다. 2023. 2. 27.
[Javascript] 함수 형태 매일 봐도 까먹는 자바스크립트 함수형태들... function fn(x){ return x + 100; } const result = fn(10); # 이름없는 함수 const fn2 = function (){ return 100; }; fn2(); # 즉시 실행 함수 (function(){ console.log('test') })(); # Arrow 함수 const fn3 = () => { return 100; } const fn4 = () => 100; # Generator 함수 # 최초 호출하면 함수가 실행되지 않고 실행 준비상태로 만듬. # 그리고 객체를 반환하며 이 객체에는 함수를 실행할 도구가 담겨져 있다. # 도구를 이용해서 함수를 실행하고 멈추고 할수 있음. function* fn5(){ .. 2022. 12. 20.
파이썬 함수 작성시 초기값 파이썬 함수 작성시 초기값을 설정할 수 있는데 다음과 같은 사항을 유의 해야한다. def my_func(name, old, man=True): ... print("나의 이름은 %s 입니다 " %name) ... if man : ... print("남자") ... else: ... print("여자") 위와 같이 사용하면 아무 문제가 없다. 그런데 예를 들어 입력 파라미터에 old 와 man=True 의 위치를 변경하게 되면 에러가 난다. 따라서 초기화 시키고 싶은 변수는 항상 뒤에 놔야 한다. 2016. 7. 11.
728x90
반응형