함수에 전달된 값을 저장하는 변수 / 함수를 선언할 때 정의하는 변수
함수를 호출(=사용)할 때 전달하는 입력값
매개변수를 2개 이상 받는 케이스
sum_func 이라는 이름으로 함수를 선언해주세요.
이 함수는 num1, num2 2개의 변수를 입력받고
두개를 합산한 값을 리턴합니다
def sum_func(num1,num2):
return num1 + num2
sum_func(3,5)
참고
변수선언시 단어사이를 _(언더바)로 표기하는것을 스네이크케이스
첫번째 글자만 대문자로 표기하는 것을 파스칼케이스라고 한다
인자 값을 전달 할 때 값만 입력하면 순서대로 매개변수에 할당된다.
매개변수명을 지정하여 전달할 수 있다.
매개변수가 3개인 함수를 설정해주세요
매개변수명 3개는 자율적으로 만들어주세요.
print()로 매개변수 3개가 뭐였는지 콘솔에 찍어준다음
result 변수에 3개 합을 저장한 뒤 리턴합니다.
함수명은 test1입니다.
def test1(a,b,c):
print(a,b,c)
result = a + b + c
return result
test1(1,2,3)
test1(c=20, a =10, b=30)
함수 정의문에서 매개변수 값을 할당하면 초기 값으로 설정
함수 호출 시 값을 입력하지 않으면 초기 값으로 사용
초기화시키고 싶은 매개변수들을 항상 뒤쪽에 위치
(참고) 포맷팅함수에서 인덱스번호, 변수명 사용했던 규칙과 유사
A-1. 디폴트값 선언을 사용한 예시
만약 a값을 주지 않으면 디폴트값인 1이 들어감
def test2(a=1, b=2, c=3):
result = a + b + c
return result
test2()
A-2. 디폴트값 설정은 반드시 오른쪽요소부터 지정한다
def test2(a, b=1, c=0):
result = a + b + c
return result
test3(10)
# 파이썬 3.7부터 문법적 오류로 처리된다
def test3(a=0, b=1, c):
result = a + b + c
return result
# 인자를 하나받을 때
def get_member_list(p1):
print("출석학생은 %s님 입니다." % p1)
get_member_list("유재석")
# 인자를 2개 받을때
def get_member_list(p1, p2):
print("출석학생은 %s님, %s님 입니다." % (p1, p2))
get_member_list("유재석", "김태호")
# 인자를 몇개 받을지 모를때
def get_member(*stu):
print(stu)
get_member("유재석", "정형돈", "하하", "정준하", "박명수", "김태호")
(예제)
가변 파라미터(*변수명)을 이용해서 학생들의 점수를 입력받는대로 다 저장했다가 총점을 얻어서 평균값을 구해 리턴하도록 코드를 작성해주세요.
def get_average(*scores):
total = 0
for score in scores:
total += score
return total, total/len(scores)
get_average(100, 79, 53, 66, 42, 88, 75, 56, 70, 75)
#리턴값을 두개 이상 주는 방법2
def get_average(*scores):
total = 0
for score in scores:
total += score
return "총점 : %s, 평균: %s" %(total, total/len(scores))
get_average(100, 79, 53, 66, 42, 88, 75, 56, 70, 75)
def test4(**kwargs):
return kwargs
test4(name="홍길동", age=19, gender='male')
def 함수이름(매개변수이름):
return 결과값 1 , 결과값 2
return 키워드는 전달받은 결과들을 하나의 튜플로 묶어서 반환
최종적으로 '하나의 변수'에 담을 수 있는 '하나의 값'으로 처리된다.
def test(a, b):
sum_test = a + b
mul_test = a * b
return sum_test, mul_test
# 결과를 통째로 가져오기
a = test(3,4)
print(a)
# 결과를 개별 변수에 쪼개서 가져오기
s, m = test(5, 6)
print(s)
print(m)
리스트로 입력받은 수들에 대해 양수만 필터링하여 반환해주는 함수를 작성해보세요.
조건1. 입력값은 인자값으로 가변인자 리스트를 전달
조건2. 결과값은 양수로만 구성된 새로운 리스트
def positive_list(*scores):
# 양수를 적재할 빈 리스트 생성
list1 =[]
# scores 내부에 있던 숫자들을 순차적으로 score에 대입해 검사
for score in scores:
# 현재 대입된 숫자가 0보다 크면
if score > 0 :
list1.append(score)
return list1
positive_list(100, -1, 0, 10, 1)