반복되는 작업에 이름을 붙여 재사용합니다.
def는 함수 객체를 만들고 이름에 연결합니다. 매개변수는 호출할 때 전달된 값을 받는 지역 이름입니다. 함수는 한 가지 책임을 갖고 입력과 결과가 명확할수록 이해하고 테스트하기 쉽습니다.
첫 호출에서 name이 민수가 되어 f-string이 message를 만들고 print가 출력하며, 두 번째 호출은 같은 본문을 name만 지영으로 바꿔 다시 실행합니다. message는 함수 안에서 만든 지역 변수라 함수 밖에서 print(message)를 쓰면 NameError가 납니다. greet는 값을 돌려주지 않으므로 호출 결과를 변수에 담으면 None이 들어갑니다.
함수 본문은 호출될 때마다 새 지역 스코프에서 실행됩니다. 정의만 하고 호출하지 않으면 아무 출력도 생기지 않습니다.
함수 이름은 동사로 시작하고 화면 출력, 데이터 저장, 계산을 한 함수에 모두 섞지 않도록 역할을 나눕니다.
괄호 없는 greet는 함수 객체이고 greet()가 실제 호출입니다.
직접 바꿔보세요두 사람에게 서로 다른 인사말을 반환하도록 매개변수를 추가하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.