파이썬 함수(2)
내가 만들고 연습한 함수
1. 함수의 기본 구조
def 함수이름(매개변수1, 매개변수2..):
동작할 코드
return 반환값
sound( )라는 함수를 정의했다.
sound함수의 괄호안에 변수를 넣으면 {변수}만도 못 한 행동이다. 라는 문구가 반환되는 함수
여기에 이전 함수들을 같이 써서
유저한테 입력값을 받아서(input함수)
그것을 출력하기 위해(print함수), line1이라는 새로운 변수를 만들어줬다.
2. 기본값
아무것도 전달하지 않았을 때 출력되는 값
order함수는 item, quantity, price를 받아야 하는데 quantity 와 price는 기본값이 1과 1000으로 지정되어 있다.
아무것도 써주지 않으면 자동으로 quantity에는1, price에는 1000이 들어간다.
이 때 기본값이 있는 매개변수는 언제나 기본값이 없는 매개변수보다 뒤에 와야 한다.
3. 가변매개변수
함수가 정해지지 않은 개수의 인수를 받을 수 있게 한다.
(1) args (arguments)
positinal arguments 라고도 한다. 인자를 이름으로 받지 않고 콤마로 구분하여 위치로 받는다는 뜻
age_sum이라는 함수는 받은 인자를 모두 더해서 (sum함수) 문구를 출력해주는(print함수) 함수이다.
이 때 파티원의 수는 2명, 3명, 4명.. 정해지지 않았기 때문에 *args를 사용했다.
파티로부터 파티원들의 나이를 입력받을텐데(input함수), 여러 값을 입력받기 위해 split함수를 사용했고, 입력값을 정수로 변환하기 위해 map을 사용했다.
마지막으로 리스트 형태로 변환해서 age_sum 함수에 전달한다.
(2) kwargs (keyword arguments)
알수없는 개수의 딕셔너리 형태 정보(키, 벨류)를 받음
character 함수는 딕셔너리를 받아서 각각 키:벨류 로 나타내고, 벨류값을 모두 더해서 보여주는 함수
이때도 사용자한테 숫자를 받기 위해 input함수, 여러개를 받기 위해 split, 정수로 변환하기 위해 map을 사용했다.