본문 바로가기
Python/파이썬 기초

[Python] 함수

by isfp_yykkng 2023. 2. 17.

함수 (Function)

함수의 선언

함수 선언은 def 키워드를 사용하여 선언하고 기본적인 파이썬 내장 함수 (print 함수 등) 외에 사용자가 정의하여 사용한다.

함수 안에 들어가는 코드들은 모두 들여쓰기 (indentation) 를 통해서 블록으로 만들어야 한다. (단, 함수명은 숫자로 시작할 수 없다!!)

def  <함수명>() :
    실행할 코드블록

함수의 실행

함수의 실행은 def를 통해 만든 함수 이름 + ()를 통해서 가능하다.

def function() : # 함수 정의(선언)
	print("텍스트")
    
function() # 함수 실행

매개변수와 실행인자

  • 매개변수 (parameter) : 함수를 정의할 때 사용하는 이름
  • 실행인자 (argument) : 함수를 실행할 때 넘기는 변수, 값
def  <함수명>(매개변수1, 매개변수2, ...) :
    실행할 코드블록

매개변수와 실행인자 모두 여러개일 경우 쉼표로 구분한다.

매개변수와 실행인자의 개수는 동일해야 한다. (개수와 순서가 중요)

def say_hello(name, age) :
	print("hello", name, "how are you?")
    print("you are", age, "years old.")
    
say_hello("Y씨", 23)

매개변수의 기본값 (default parameter function)

매개변수가 있는 경우 무조건 실행인자를 넘겨야 한다. 하지만 매개변수의 기본값을 설정한다면 실행인자를 넘기지 않아도 기본값이 실행인자로 넘어간다.

def  <함수명>(매개변수 = 기본값) :
    실행할 코드블록
def say_hello(name="annoymous"):
	print("Hello", name)

say_hello() # 출력 : Hello annoymous

함수의 값

함수의 값 : " return " 키워드를 통해서 값을 돌려줄 수 있다. 만약 여러 값을 반환한다면 return 뒤에 여러 값을 쉼표로 구분해서 값을 보내고, 받을 때도 쉼표로 구분하여 받아야 한다. 

def add(value1, value2) :
	result = value1 + value2
    return result #함수의 값 반환

n = add(5, 10)
print(n) # 15

[참고] 메서드 (Method) vs 함수 (Function)

메서드는 데이터에 "Bounded"(결합/연결) 함수들이고, Function은 아무때나 자유롭게 사용 (ex. print())

즉, 메서드는 String 데이터의 함수들, List의 함수들 등과 같이 데이터의 결합된 함수
Method의 예시 : "name".upper(), "name".capitalize()

'Python > 파이썬 기초' 카테고리의 다른 글

[Python] 자료구조 2 - 딕셔너리, 튜플  (0) 2023.02.19
[Python] 자료구조 1 - 리스트  (0) 2023.02.17
[Python] 자료형과 사용자 입력  (0) 2023.02.17
[Python] 조건문  (0) 2023.02.16
[Python] 변수, 주석  (0) 2023.02.15