본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

Personal/Book

혼자 공부하는 파이썬 - Chapter 05 함수

05-1 함수 만들기

함수는 한마디로 코드의 집합 (괄호안데, 있는것들을, 모두, 매개변수라고, 부른다)

매개변수를 원하는 만큼 받을 수 있는 함수를 *가변 매개변수라 한다.

(매개변수 = 값)을 기본 매개변수라 부른다.

함수를 실행하고 난 결과를 리턴값이라고 부른다.

 

05-1 함수의 활용

재귀함수

팩토리얼이라는 연산자를 배웁니다.  n! = n * (n - 1) * (n - 2) * ... * 1

재귀함수는 상황에 따라 같은것을 기하급수적으로 많이 반복한다. 따라서 개발자 사이에서 재귀함수를 절대 사용하면 안된다는 의견도 있다. 

 

 

함수 호출 횟수가 기하급수적으로 늘어나고 이러한 형태를 트리라고 부르며 각각의 지점을 노드, 마지막 단계의 노드를 리프라고 부른다. 

 

 

실제로 5와 20은 시간텀이 꽤길다. 이를 사용을 굳이 하고싶다면 메모화 작업이 추천된다. 

 

 

gloabal 변수

함수 외부에 있는 변수에 접근가능한 변수를 글로벌변수라한다.

 

 

리스트평탄화하기

 

 

 

 

 

05-3 함수 고급

함수와 함께 많이 사용되는 리스트와 비슷한 자료형, 튜플 리스트와 비슷하나 한번 결정된 요소를 바꿀 수 없다는 것이 다른 점.

 

값교환

 

 

 

 

콜백함수

함수의 매개변수에 사용하는 함수

함수를 매개변수처럼! 이것의 대표적인 표준함수로 map(), filter()가있다. 

 

 

람다 

위처럼 매개변수를 함수로 전달하기 위해 함수 구문을 작성하는 것도 번거롭다.

함수를 쉽게 선언하는 방법에 람다함수를 사용하면 아래처럼 코드가 간결해진다.

https://standout.tistory.com/622

 

람다함수란?

람다 함수는 함수를 간결하게 표현하는 방법 // 일반 함수 예시 public int add(int a, int b) { return a + b; } // 람다 함수 예시 (IntBinaryOperator) (a, b) -> a + b;

standout.tistory.com

 

 

 

 

파일 읽고 쓰기

open()으로 읽고, 매개변수 모드를 w, a, r로 설정할 수 있다. 

이때 with 를 활용하면 close를 적지않아도 된다.

 

 

 

 

 

제너레이터

함수내부에 yied를 사용하면 제너레이터 함수가 된다. 

yied는 제너레이터

next()를 활용해 함수 내부의 코드를 실행하고 uied의 키워드 부분까지만 실행한다.

이때 a = test() a등의 객체에 꼭 저장한뒤 next를한다. 그래야 인식하고 next, next할 수 있음

 

 

 

 

 

키워드 매개변수에 함수 전달하기

딕셔너리 내부에 있는 특정속성을 활용해서 최솟값과 최댓값을 비교할 수있다.

 

 

가장 외곽에 있는 스택을 전역스택이라한다. 

기본자료형복사