본문 바로가기

파이썬

(20)
[파이썬] 클로져(Closure) 이해하기 클로저(Closure) 함수 내부함수 클로저(Closure) 함수를 배우기 전에, 내부 함수에 대해 먼저 알아야 한다. 일급 객체 의 특징중에서 함수 내에 함수를 정의 할 수 있다고 했다. 이를 내부 함수(inner function)이라고 한다. def outer_fucntion(a, b): def inner_function(c, d): return c + d return inner(a, b) print(outer_function(3, 5)) >>> 출력결과> 8 심화하기 : 내부 함수(inner function)은 루프나 코드 중복을 피하기 위해 또 다른 함수 내에 어떤 복잡한 작업을 한 번 이상 수행할 때 유용하게 사용한다. 클로저(closure) 1부 : 개념 익히기 위에서 간단하게 내부 함수가 무..
[파이썬] 일등 함수(first-class citizen) 이란? 일등함수 함수는 일등 시민(first-class citizen) 일등 시민(first-class citizen)이라고? 정말 생소한 개념이다. 익숙하진 않지만, 다음 조건을 충족한다면 일등 시민이라고 할 수 있다. 변수나 데이터에 할당 할 수 있어야 한다. 객체의 인자로 넘길 수 있어야 한다. 객체의 리턴값으로 리턴 할 수 있어야 한다. 위키백과 : 일급 객체란? 엥? 그거 다 되는거 아니야? 싶겠지만 파이썬에서는 독특하게도 함수도 위와 같은 기능을 수행한다. 이러한 특징을 가진 일급 객체(first-class citizen)를 사용하면 손쉽게 함수를 재활용 할 수 있다. 예제참고 블로그 1. 함수를 변수에 할당 가능 def square(x) : return x * x f1 = square_numbers..
[파이썬] 리스트 컴프리헨션(list comprehension)의 이해 0. 들어가기 앞서 행(row)을 만나기 위해서는 matrix의 괄호를 한 번 벗겨야 한다. 행의 원소(element)들을 만나기 위해서는 matrix의 괄호를 두 번 벗겨야 한다. 한 번 벗기기 위해서는 for문을 한 번만 사용하면 되고 두 번 벗기기 위해서는 for문을 두 번 사용하면 된다. 1. row 내의 element 접근하기 리스트 컴프리헨션은 여러 가지 표현식이 있어서 더 어려운 듯 하다. 여기서 element란 하나하나의 원소를 의미한다고 정의하자. 간단하게 표현하면(?) 위와 같이 얘기할 수 있다. for문은 →로 진행되며, 괄호를 한꺼풀식 벗긴다고 생각하면 된다. 그래서 첫번째 for문에서 원 데이터(matrix)가 가장 먼저 등장하게 되며 한꺼풀식 벗긴 데이터를 또 한꺼풀 벗긴다고 생..
[파이썬] 행렬(matrix)과 리스트 컴프리헨션(list comprehension) 이해하기 0. 들어가기 앞서이번 포스팅에서는 행렬(matrix)에서 리스트 컴프리헨션(list comprehension)을 이용해 행과 열을 뽑아내도록 하겠다.여러 시행착오를 거치면서 삽질했던거라 까먹지 않기 위해 포스팅한다. 아주 얕은 깊이의 내용만을 다루며 많은 오류가 예상된다.포스팅에 오류가 있다면 적극적으로 말씀해주세요! 1. 행렬 표현식 이해하기 행렬에 대해 공부할 때 가장 헷갈리는 게 행(row)과 열(col)이라는 용어를 이해하는 것이다. 행은 가로줄을 의미하고, 열은 세로줄을 의미한다.나는 행과 열을 이해하는 데 힘들었다. 아무튼 힘들었다. 2. 행렬의 행(row)과 열(column) 이해하기행렬은 위 그림처럼 표현할 수 있다행(row) 한 줄은 괄호 하나를 벗기면 되고,행(row) 한 줄에 속해있..