파이썬에서 함수를 정의하고 호출하는 다양한 방법을 소개합니다.
함수를 정의하는 문법은 아래와 같습니다. 함수를 정의할 때는 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 - Yaml 파일 파싱하는 방법
- Python - 파일 내용 삭제
- Python - for문에서 리스트 순회 중 요소 값 제거
- Python - 두 리스트에서 공통 요소 값 찾기
- Python - 문자열 앞(뒤)에 0으로 채우기
- Python - 공백으로 문자열 분리
- Python - 중첩 리스트 평탄화(1차원 리스트 변환)
- Python - 16진수 문자열을 Int로 변환
- Python - 두 날짜, 시간 비교
- Python f-string으로 변수 이름, 값 쉽게 출력 (변수명 = )
- Python - nonlocal과 global 사용 방법
- Python 바다코끼리 연산자 := 알아보기
- Python - pip와 requirements.txt로 패키지 관리
- Python - 딕셔너리 보기 좋게 출력 (pprint)
- Python - Requests 사용 방법 (GET/POST/PUT/PATCH/DELETE)
- Python - 온라인 컴파일러 사이트 추천
- Python - os.walk()를 사용하여 디렉토리, 파일 탐색
- Python - 문자열 비교 방법
- Python - Text 파일 읽고 쓰는 방법 (read, write, append)
- Python - 리스트에서 첫번째, 마지막 요소 가져오는 방법
- Python - 두개의 리스트 하나로 합치기
- Python - 리스트의 마지막 요소 제거
- Python - 리스트의 첫번째 요소 제거
- Python 소수점 버림, 4가지 방법
- Python 코드 안에서 버전 확인 방법
- Python 소수점 반올림, round() 예제
- Python - 리스트 평균 구하기, 3가지 방법
- Python - bytes를 String으로 변환하는 방법
- Python - String을 bytes로 변환하는 방법
- Python 버전 확인 방법 (터미널, cmd 명령어)
- Python - 람다(Lambda) 함수 사용 방법
- Python - dict 정렬 (Key, Value로 sorting)
- Python - range() 사용 방법 및 예제
- Python - 리스트를 문자열로 변환
- Python - 문자를 숫자로 변환 (String to Integer, Float)