파이썬에서 함수를 정의하고 호출하는 다양한 방법을 소개합니다.
함수를 정의하는 문법은 아래와 같습니다. 함수를 정의할 때는 def
를 입력하고 다음에 함수 이름 function_name
을 입력합니다.
인자는 (arg1, arg2, ...)
처럼 지정하며, 리턴 값이 있을 때는 return val
처럼 리턴하면 됩니다. 인자가 없거나 리턴 값이 없을 때는 이 부분을 생략하시면 됩니다.
def function_name(arg1, arg2, ...):
...
return val
1. 함수 정의 : 인자 없고 리턴 값 없는 함수
인자를 받지 않고 리턴 값이 없는 함수는 아래와 같이 정의할 수 있습니다. 함수 호출할 때는 greet()
처럼 호출하시면 됩니다.
def greet():
print("Hello")
greet()
Output:
Hello
2. 함수 정의 : 인자가 있는 함수
함수가 인자를 받는다면, 아래와 같이 변수 이름을 입력하면 됩니다. 호출할 때는 greet("John")
처럼 괄호 안에 인자를 전달합니다.
def greet(name):
print("Hello, " + name)
greet("John")
Output:
Hello, John
인자가 2개 이상이라면, 아래와 같이 인자를 추가하시면 됩니다.
def greet(name1, name2):
print("Hello, " + name1 + ", I'm " + name2)
greet("John", "Paul")
Output:
Hello, John, I'm Paul
3. 함수 정의 : 디폴트 매개변수
함수 인자에 기본으로 사용하는 값을 설정하면, 함수 호출 시 인자를 전달하지 않을 때 그 값이 사용됩니다. 이것을 디폴트 매개변수라고 합니다.
디폴트 매개변수는 name="John"
처럼 기본 값을 설정하며, greet()
처럼 인자 없이 호출할 때 name에 기본으로 설정한 값이 사용됩니다.
greet("John Doe")
처럼 명시적으로 인자를 전달하면, 디폴트 값 대신에 이 값이 사용됩니다.
def greet(name="John"):
print("Hello, " + name)
greet()
greet("John Doe")
Output:
Hello, John
Hello, John Doe
4. 함수 정의 : 리턴 값이 있는 함수
함수에서 어떤 작업을 수행하고 결과 값을 함수 밖으로 전달해야하는 경우, 리턴 구문을 사용하시면 됩니다. return num
처럼 어떤 값을 리턴할 수 있으며, return
호출 시 함수는 종료됩니다.
def absolute_value(num):
if num >= 0:
return num
else:
return -num
print(absolute_value(10))
print(absolute_value(-10))
Output:
10
10
5. 함수 정의 : 2개 이상의 값 리턴
함수는 하나의 객체를 리턴하지만, 아래와 같이 여러 값을 갖고 있는 리스트를 리턴하여 2개 이상의 값을 리턴하도록 만들 수 있습니다.
def myFunc():
return ["hello", 100]
result = myFunc()
print(result)
print(result[0])
print(result[1])
Output:
['hello', 100]
hello
100
더 많은 예제는 Python - 함수에서 두개 이상의 값 리턴를 참고해주세요.
Related Posts
- Python 소수점 반올림, round() 예제
- Python - String isdigit(), 문자열이 숫자인지 확인
- Python 소수점 버림, 4가지 방법
- 파이썬 주석 처리, 단축키 소개
- Python - Text 파일 읽고 쓰는 방법 (read, write, append)
- Python - String Formatting의 다양한 방법 정리(%, Str formatting, f-stirng)
- Python - os.path.join(), 폴더와 파일명으로 Path 생성
- Python - 파일을 읽고 한 줄씩 리스트에 저장
- Python - 문자열에서 줄바꿈(\n) 제거, 3가지 방법
- Python - Switch Case 구현 방법 (Match Case)
- 우분투에 Python 3.10 설치하는 방법
- Python - 문자열에서 특정 문자 제거, 3가지 방법
- Python - 함수 정의 및 호출 방법
- Python - 딕셔너리 초기화, 4가지 방법
- Python - input() 함수로 데이터 입력 받기
- Python - Tuple 사용 방법
- Python - 딕셔너리 정리 및 예제
- Python - String startswith(), 어떤 문자열로 시작하는지 확인
- Python - 날짜에서 월 이름 가져오기(숫자 -> 영어 이름 변환)
- Python - 어떤 날짜가 몇 주차인지 확인
- Python - D-Day 계산, 몇일 남았는지 날짜 세기
- Python - 날짜가 무슨 요일인지 계산
- Python - 어떤 날짜가 주말인지, 평일인지 확인
- Python - XML 생성 및 파일 저장
- Python - 특정 월의 시작 날짜, 마지막 날짜 얻기
- Python - XML 파싱, 태그 또는 요소 별로 읽기
- Python 버전 확인 방법 (터미널, cmd 명령어)
- Python - Selenium에서 웹페이지의 제목 가져오는 방법
- Python - 디렉토리, 파일 사이즈 계산
- Python 버전 확인 방법 (스크립트 또는 Command line)
- Python - 함수에서 두개 이상의 값 리턴
- Python - CSV 파일 읽기, 쓰기
- Python - 코드 실행 시간 측정
- Python - 반복문으로 리스트 순회 방법 (+ Index 출력)
- Python - with로 파일 열고 닫기