목록개인공부(WEB, Python, DB)/Python (176)
ChainSmoker’s Block
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/slWZw/btrVKZD1es6/M82aFHANxLjIWYCBthUKf0/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값이 몇 개가 될지 모를 때는 어떻게 해야 할까? : -여러 개의 입력갑승ㄹ 받는 함수 만들기 아래 예시를 통해 여러 개의 입력값을 모두 더하는 함수를 직접 만들 수 있다. 예를 들어서 add_many(1, 2)이면 3을, add_many(1, 2, 3)이면 6을, add_many(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)이면 55를 돌려주는 함수를 만들어 보자. 위에서 만든 add_many함수는 입력값이 몇 개이든 상관이 없다. *args처럼 매개변수 이름 앞에 *를 붙이면 입력값을 전부 모아서 튜플로 만들어 주기 떄문이다. 만약 add_many(1, 2, 3)처럼 이 함수를 쓰면 ar..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0nPYE/btrVE1vOEHQ/nWN4BfwQdhjjfXSOUQUjuK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값이 몇 개가 될지 모를 때는 어떻게 해야 할까? : 입력값이 여러 개일 때 그 입력값을 모두 더해 주는 함수를 생각해 보자. 하지만 몇 개가 입력될지 모를 때는 어떻게 해야 할까? 아마도 난감할 것이다. 파이썬은 이런 문제를 해결하기 위해 방법을 제공하는데, 이는 다음과 같다. {def 함수이른(*매개변수): 수행할 문장1 수행할 문장2 ...} 일반적으로 볼 수 있는 함수형태에서 괄호 안의 매개변수 부분이 *매개변수로 바뀌었다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UhcIa/btrVK0v9VaS/ZLdiWt5tefm3PglqE1E9y1/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================매개변수 지정하여 호출하기 : 함수를 호출할 때 매개변수를 지정할 수도 있다. 앞에서 알아본 add함수이다. 이 함수를 다음과 같이 매개변수를 지정하여 사용할 수 있다. 매개변수를 지정하면 아래와 같이 순서에 상관없이 사용할 수 있다는 장점이 있다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwFaH0/btrVI64p3hs/kG3EcTPCwx7mwMceK5aoAK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값과 결괏값에 따른 함수의 형태 : 1_9에 이어 설명. -입력값도 결괏값도 없는 함수 입력값도 결괏값도 없는 함수 역시 존재한다. 아래 예시를 보자. 입력 인수를 받는 매개변수도 없고 return문도 없으니 입력값도 결괏값도 없는 함수이다. 이 함수를 사용하는 방법은 단 한 가지이다. say()를 입력하는 것이다. 즉 입력값도 결괏값도 없는 함수는 다음과 같이 '함수이름()' 사용한다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WkjdR/btrVz9V974n/0XLKYv5gtCrc06g1gYqDJK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값과 결괏값에 따른 함수의 형태 : 1_9에 이어 설명. 돌려받을 값을 a변수에 대입하여 출력해 보면 결괏값이 있는지 없는지를 알 수 있다. a의 값은 None이다. None이란 거짓을 나타내는 자료형이라고 언급한 적이 앞에서 있다. add 함수처럼 결괏값이 없을 때 a = add(3, 4)처럼 쓰면 함수 add는 반환값으로 a변수에 None을 돌려준다. 이것을 가지고 결괏값이 있다고 생각하면 큰 오산이고 곤란할 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8zG0M/btrVzY8awra/WtirvovRDC2ycYcCx4cO5k/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값과 결괏값에 따른 함수의 형태 : 1_8에 이어 설명. -결괏값이 없는 함수 결괏값이 진짜 없는지 확인하기 위해 아래 예시를 직접 입력해 보자. 아마 예시에서는 '3, 4의 합은 7입니다.'라는 문장을 출력해 주었을 것이다. 하지만 왜 결괏값이 없다는 것인지 의아하게 생각할 수 있다. 이 부분이 혼란스러울 수 있는 부분이기도 하지만 print문은 함수의 구성 요소 중 하나인 에 해당하는 부분일 뿐이다. 결괏값은 당연히 없다. 결괏값은 오직 return 명령어로만 돌려받을 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Vd22e/btrVGZkbuq0/at4kISXvhYELXsbUkGqbfK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값과 결괏값에 따른 함수의 형태 : -결괏값이 없는 함수 결괏값이 없는 함수 역시 존재할까? 당연 존재한다. 다음 예시를 보자. 결괏값이 없는 함수는 호출해도 돌려주는 값이 없기 때문에 아래 예시와 같이 사용한다. 즉, 결괏값이 없는 함수는 다음 '함수이름(입력인수1, 입력인수2, ...)'와 같이 사용한다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cAFuH4/btrVAK2U4i6/LMyHlBlkmJGrOOHyoh6Pj0/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값과 결괏값에 따른 함수의 형태 : -입력값이 없는 함수 입력값이 없는 함수가 존재하는가? 당연히 존재한다. 위 예시에서 say하는 이름의 함수를 만들었다. 그런데 매개변수 부분을 나타내는 함수 이름 뒤의 괄호 안이 비어있다. 해당 함수는 어떻게 사용하는건지 궁금하지 않은가? 예시를 하나 더 보자. 위 함수를 쓰기 위해선 say()함수처럼 괄호 안에 아무 값도 넣지 않아야 한다. 이 함수는 입력값은 없지만 결괏값으로 Hi라는 문자열을 되돌려준다. a = say()처럼 작성하면 a에 Hi문자열이 대입 및 저장되는 것이다. 이처럼 입력값이 없고 결괏값만 있을 경우 함수는 다음과 같이 사용된다. | '결괏..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b126OI/btrVAatZAOZ/cvxZEx4efQqB97RrmsZIT1/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값과 결괏값에 따른 함수의 형태 : 1_5에 이어 설명. 아래 예시들은 일반함수의 전형적 예시이다. add함수는 2개의 입력값(a, b)을 받아서 서로 더한 결괏값을 돌려준다. 해당 함수를 사용하는 방법은 다음 예시를 살펴보며 알아보자. 입력값으로 a = 3, b = 4를 줘보고 결괏값을 알아보자. 입력값과 결괏값이 있는 함수의 사용법을 정리해보면 아래와 같다. { 결괏값을 받을 변수 = 함수이름(입력인수 1, 입력인수 2, ...)}
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m4K01/btrVLwhsZNj/nuA3u4kvTkRAAG3x0WyBRK/img.png)
[04. 프로그램의 입력과 출력은 어떻게 해야 할까?] -1. 함수 ===================입력값과 결괏값에 따른 함수의 형태 : 함수는 들어온 입력값을 받아 어떤 처리를 하여 적절한 결괏값을 돌려준다. 함수의 형태는 입력값과 결괏값의 존재 유무에 따라 4가지 유형으로 나뉜다. -일반적인 함수 입력값이 있고 결괏값이 있는 함수가 일반적인 함수이다. 앞으로 프로그래밍을 할 때 만드는 함수들은 대부분 아래와 같은 형태일 것이다. { def 함수이름(매개변수): 수행할 문장1 수행할 문장2 ... return 결괏값 }