728x90

함수란?

  • 특정 기능을 수행하는 코드의 묶음에 이름을 붙여놓은 것

  • 내장 함수 : 파이썬에서 미리 만들어져 제공되는 함수 ex) print(), input()...

  • 사용자 정의 함수 : 사용자가 직접 만들어 사용하는 함수. def 예약어를 이용하여 정의합니다.

def fpython():			# 함수 정의
    print("Python")
    print("파이썬")

fpython()			# 함수 호출

def print19():
    for i in range(1,10):
        print(i, end=' ')

print19()

실행결과 : 1 2 3 4 5 6 7 8 9 
  • 함수 정의 전에 함수를 호출할 경우 오류가 발생합니다.

fpython()

def fpython():
    print("Python")
    print("파이썬")

Traceback (most recent call last):
  File "C:/Users/237-06/AppData/Local/Programs/Python/Python38-32/1.py", line 1, in <module>
    fpython()
NameError: name 'fpython' is not defined
  • 인수와 매개변수 사용 : 함수에 값을 전달

def cal_gugudan(dan):
    for i in range(10):
        print(dan, "*", i, "=", dan*i, "")

num = int(input("원하는 단 입력 : "))
cal_gugudan(num)
  • return 예약어 : 함수 내에서 처리된 값을 반환

def getAvg(x1,x2):
    avg = (x1+x2) / 2
    return avg

x = int(input("값1 :"))
y = int(input("값2 :"))

print("평균 =",getAvg(x,y))

실행결과 :
값1 :3
값2 :7
평균 = 5.0
  • 디폴트 매개변수 : 매개변수에 미리 값을 설정해 놓으면 인수를 전달하지 않았을 때 기본으로 설정한 값을 사용

def welcome(name,msg="환영합니다"):
    print(msg,name,"님")
    
n = input("이름 :")
welcome(n)
welcome(n,"반갑습니다")

실행결과 : 
이름 :박세용
환영합니다 박세용 님
반갑습니다 박세용 님
  • 가변 매개변수 : 매개변수의 갯수를 정하지 않음

def sum_func(*num):
    s = 0
    for i in num:
        s += i
    return s

print(sum_func(2,3))
print(sum_func(2,3,4))
print(sum_func(2,3,4,5))

 

728x90

+ Recent posts