1 life 2 live
파이썬 기초 프로그래밍(8-2) - 함수(지역변수, 전역변수) [20.7.27] 본문
8. 함수의 키워드 인자
■ 메시지를 N번 입력하기 위한 함수를 작성해보자!
º 두 개의 인자를 요구
• msg: 출력할 ‘메시지’가 저장 될 인자
• count: 메시지를 출력 할 ‘횟수’가 저장 될 인자

º 사용법
• 첫 번재 인자에는 '메시지', 두 번째 인자에는 '횟수'를 전달

■ 꼭 순서대로 넣어야 하는가?
º 아니다! 인자의 키워드를 맞춰주면 그만!
■ 키워드 인자를 이용한 함수 호출 방법

9. 함수의 디폴트 인자
■ 메시지를 N번 입력하기 위한 함수를 작성해보자!
º 그런데… 별 말 없으면 한 번만 출력해주면 안될까?

º 즉, 1번을 출력하려면 count에 1이 들어와야 함
■ 인자의 기본 값 설정 방법

º 기본값이 설정 된 인자의 경우, 해당 인자에 대한 입력 값이 명시적으로 전달되지 않을 시 설정된 기본 값을 사용
■ 디폴트 인자 선언

º count 인자를 위한 입력 값이 없을 시 1을 사용
º count 인자를 위한 입력이 존재하면 입력된 값을 사용
■ 사용 예)

■ 디폴트 인자 선언 시 주의점
º 디폴트 값이 선언 된 인자는 일반 인자들의 뒤에 위치해야 함
■ 아래 코드가 정상 수행되는가?


10. 함수의 결과
■ 함수의 결과는 한 개!
º 아래 코드가 정상적으로 실행이 될까?

º 실행 결과) 별 문제가 없다!

■ 왜 문제가 없는가?
º 튜플 형태로 결과가 전달되기 때문
■ 두 개의 변수를 통하여 결과 값을 따로 받으려면?
º 시퀀스 언패킹

■ return의 효과
º 호출 즉시 결과 값을 ‘반환’
º 결과 값 반환과 동시에 해당 함수를 탈출!
■ 아래 코드가 정상 작동 할 까?

11. 함수 변수의 스코프
■ 변수의 종류
º 전역 변수: 함수 외부에서 선언되는 변수
º 지역 변수: 함수 내부에서 선언되는 변수
■ 변수가 선언되는 위치에 따라 유효 범위가 다르다!
º 우리가 지금까지 사용하던 변수?
• 전역 변수!

■ 변수의 스코프
º 변수의 유효 범위
º 변수를 사용 할 수 있는 범위
■ 전역 변수의 스코프
º 프로그램 내 모든 부분에서 사용 가능
º 함수 내에서 전역 변수는 읽기만 가능
º 함수 내에서 전역 변수에 대한 쓰기는 다른 방법이 필요
■ 지역 변수의 스코프
º 선언 된 함수 내에서만 사용 가능
■ 아래 코드의 결과는?

º 결과가 어떻게 변화하였는가?
º 전역 변수의 직접 수정, 무분별한 사용은 지양하는 것이 좋다
■ 변수 스코프에 의한 연산 실수

■ 포인트
º 함수 내에서 전역 변수는 읽기만 가능!
º 지역 변수는 함수 내에서만 유효!
12. 내장 함수
■ 내장(built-in) 함수?
º 파이썬에서 기본적으로 제공하는 함수들
º 다양한 기능들에 대하여 안전성이 검증된 함수
■ 어떤 종류의 함수들이 존재하는가?
º 자료형/자료구조 변환
º 수학 보조 함수
º 입/출력 함수
º 시퀀스 조작 함수

■ enumerate
º 순서가 있는 자료형 (리스트, 튜플, 문자열)을 입력받아 인덱스 값을 포함하는 객체를 반환

■ map
º 함수와 반복 가능한 자료를 입력받아 자료의 각 요소에 함수를 적용한 결과를 반환

■ filter
º 함수와 반복 가능한 자료를 입력받아 자료의 각 요소에 함수를 적용했을 때, 함수의 결과가 ‘참’ 인 요소만을 결과로 반환

■ zip
º 동일한 갯수로 이루어진 두 개의 자료형을 결합

■ len/max/min/range
º 자료의 길이
º 자료의 최대값/최소값
º 범위 생성
■ sorted
º 자료에 대하여 오름차순 정렬을 수행한 리스트

13. 정리
■ 함수
º 이름, 입력, 수행 내용, 결과로 구성되는 코드의 집합
º 프로그램을 체계적/구조적으로 구성하기 위한 기본 단계
■ 변수의 스코프
º 전역 변수: 함수외부에서 선언 된 변수로서 전체 프로그램 내부에서 유효
º 지역 변수: 함수 내부에서 선언 된 변수로서 선언된 함수 안에서만 유효
■ 내장 함수
º 파이썬에서 기본적으로 제공되는 검증된 함수들
º 다양한 용도로 활용 할 수 있는 함수들이 제공 됨
'파이썬' 카테고리의 다른 글
| 파이썬 기초 프로그래밍(9-2) - 파일 예외 처리 [20.7.29] (0) | 2020.07.29 |
|---|---|
| 파이썬 기초 프로그래밍(9-1) - 파일처리 [20.7.28] (0) | 2020.07.28 |
| 파이썬 기초 프로그래밍(8-1) - 함수(선언, 인자) [20.7.26] (0) | 2020.07.26 |
| 파이썬 기초 프로그래밍(7) - 자료구조3 (문자열) [20.7.25] (0) | 2020.07.25 |
| 파이썬 기초 프로그래밍(6-2) - 자료구조2 (딕셔너리) [20.7.18] (0) | 2020.07.18 |