Lunetzsche's House

Python - filter

여기서는 제네레이터 함수 filter에 대해 설명할 것이다. Test = [25, 78, 910, 3060, 6750] def divide(num): if num % 25 == 0: return True else: return False newList = [] for i in Test: if divide(i): ...

Python - Map

여기서는 제네레이터 함수 중 map에 대해 설명한다. Test = [1, 2, 3] # this List is iterable def sq(num): return num * num for i in Test: print(sq(i)) sq는 인자값의 제곱을 반환한다. 즉, 우리는 1, 2, 3의 제곱을 반환하는 함수를 만든 것이다. ...

Python - 데코레이터(Decorator)

데코레이터의 장점은 중복을 제거하고 코드를 간결하게 하며 공통된 함수(로깅, 프레임워크, 유효성 체크)를 작성할 수 있게 한다. 단점이라면 가독성이 악화되고 디버깅이 어려워지기는 하지만 같은 함수를 반복적으로 불러와야 할 때 매우 효율적인 방법이다. 이하는 인프런의 파이썬 중급 오리지널에 나오는 코드를 살짝 수정한 것이다. 우리를 위한 프로그래밍 ...

Python - 클로저(Closure)

전역 변수는 말 그대로 전체 영역(Global Area)에 저장되어 있는 변수다. 지역 변수는 함수 내(Local Area)에 저장되어 있는 변수다. def func(a): print(a) print(b) b = 10 func(10) 다짜고짜 코드부터 보자. 어떤 결과가 일어날까? a에는 func() 에서 10이 대...

Python - 일급 함수(First Function/First Class)

일급 함수 재귀 함수 일급 함수 함수임에도 변수와 동일하게 취급되는 함수를 말한다. 일급 함수의 특징은 재귀함수(Recursion Function)를 만든 뒤 빈 클래스와의 교집합을 빼보면 알 수 있다. def minus(num): num -= 1 if num == 0: return print("Zero!") print...

Python - 모듈(Module)

파이썬 내장 모듈에는 여러가지가 있다. datetime이라든지 random이라든지… 우리는 일단 테스트용으로 datetime을 써보자. import datetime 여기서 우리가 datetime. 을 쓰고 콤마 옆에 커서를 대보면 datetime이 제공하는 정말 많은 메소드(Method)가 표시된다. 그런데 만약 나는 datetime의 dat...

Python - 클래스(Class)

객체지향에서 클래스란 가장 핵심적인 요소다. 하지만 여러 강의사이트에서 듣는다 한들 클래스란 쉽사리 이해되지 않는 존재다. 우습게도 C 계열 언어에서의 class 언어가 더 쉬워보이는 경우까지 생긴다. 실제로 본인은 C# 에서의 클래스는 쉽게 이해했지만 Python 에서의 클래스는 잘 이해하지 못했다. 클래스의 정의란 우리가 목표로 하는 과정 속에서...

Python - 함수(Function)와 람다식(Lambda)

함수란 우리가 원하는 명령을 만들어 그것을 저장하고, 원하는 때에 꺼내서 쓰는 모종의 것을 의미한다. 이미 우리는 수많은 내장함수들을 알고 있다. len, range, map, filter 등… 함수를 만들 적에는 대개 이런 식으로 만들 것이다. def addition(a, b): return print(f"둘을 더한 값은 {a + b}입니다."...

Python - Dictionary Comprehension

지능형 딕셔너리라고도 하지만 여기서는 딕셔너리 컴프리헨션이라고 부를 것이다. 이 글을 읽기 전에 리스트 컴프리헨션을 먼저 읽어두자. List Comprehension 우리는 카드 게임을 만들고 싶다. 그걸 위해서 우선 리스트 데이터가 필요하다. name = ["Knight", "Archer", "Priest"] att = [10, 15, 5] ...

Python - Zip

여기서는 제네레이터 함수 zip을 설명한다. zip 메소드는 같은 인덱스를 가진 두 개의 iter(반복 가능한 객체)를 하나로 합쳐준다. 보면 쉽다. 설명이 필요없다. 백문이 불여일견. 일단 보자. myList1 = ["Qiqi", "Mimi", "Nana"] myList2 = ["Yorkshire Terrier", "Spitz", "Mix"] m...