귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!===함수=== 함수의 정의는 자바스크립트와 같은 동적 타입 언어들과 별로 다르지 않다. <syntaxhighlight lang="python"> def add(x, y): return x + y </syntaxhighlight> 함수를 정의할 때에는 def 키워드를 사용하며 괄호 안에 매개변수의 목록을 써 주면 된다. 마지막으로 블록의 시작을 뜻하는 : 기호를 불여주고 함수의 내용은 들여쓰기를 해 준다. 파이썬의 특징 중 하나는 키워드 매개변수를 지원한다는 점이다. 함수를 호출할 때 매개변수는 나오는 순서에 따라서 지정되지만 키워드 매개변수를 사용하면 순서를 바꿀 수도 있다. <syntaxhighlight lang="python"> def divide(x, y): return x / y z = divide(y=2, x=4) print(z) </syntaxhighlight> 키워드 매개변수에는 몇 가지 제약이 있다. 함수를 호출할 때 매개변수는 순서 기준 매개변수가 우선이다. 키워드 매개변수는 순서 기준 매개변수가 다 나온 다음 나와야 한다. 또한 이미 순서 기준 매개변수로 나온 매개변수를 키워드 매개변수로 다시 지정할 수 없다. 예를 들어, <syntaxhighlight lang="python"> def divide(x, y): return x / y z = divide(2, x=4) print(z) </syntaxhighlight> 위 코드는 오류를 일으킨다. divide()를 호출할 때 첫 번째 매개변수인 2를 x로 간주하므로, x=4로 중복 지정할 수 없다. 함수의 정의를 보면 알겠지만 반환값의 유형을 지정하지 않으므로 같은 함수가 상황에 따라 다른 유형의 값을 돌려줄 수도 있다. <syntaxhighlight lang="python"> def divide(x, y): if y == 0: return 'The divider must not be zero.' else: return x / y </syntaxhighlight> 위 함수는 y가 0이면 문자열을 돌려주지만 0이 아니면 부동소수를 돌려준다. 하지만 이런 식으로는 하지 않는 게 좋다. <syntaxhighlight lang="python"> def divide(x, y): if y == 0: return 'The divider must not be zero.' else: return x / y print(divide(4, 2) * 5) print(divide(5, 0) * 5) </syntaxhighlight> 위 코드를 실행시키면 첫 번째 print() 함수는 '10'을 출력하지만 두 번째 print() 함수는 'The divider must not be zero.' 문자열을 다섯 번 반복해서 출력한다. 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)