Language/기초문법

[Python] 함수

Sh-YE 2024. 5. 1. 17:16

함수사용이유?

특정기능을 재사용하기 위해서 사용.

 

 

파이썬에서 제공하는 함수는 크게 2가지로 구분

1. 내장함수

: 파이썬에서 기본으로 제공해주는 함수

  ex) print(), input() 등


2. 사용자정의함수

: 사용자가 직접선언

def addCal(): # 함수선언
    n1 = int(input('n1 입력 : '))
    n2 = int(input('n2 입력 : '))   
    print(f'n1 + n2 = {n1 + n2}')

addCal()   # 함수호출

 

1) 함수 호출

 - 함수 내에서 또다른 함수호출

def fun1():
	print('fun1 호출!')
    fun2()

def fun2():
	print('fun2 호출!')
    fun3()
    
def fun3():
	print('fun3 호출!')
    
fun1()

 

2) 인수와 매개변수

 - 매개변수,인자(Parameter) : 함수를 정의할때 사용하는 변수

 - 인수(Argument): 함수 호출할때 전달되는 실제 값

def greet(customer): #매개변수: customer
	print(f'{customer} 고객님 안녕하세요'}

greet('홍길동') # 인수: 홍길동

def printNumber(*numbers)
	for number in numbers:
    	print(number, end='')
    print()

   - 인수와 매개변수 개수는 일치해야한다.

   - 매개변수 개수가 정해지지 않은 경우 '*'를 이용한다.

 

3) 데이터 반환

def calculator(n1,n2):
    n1 + n2

print(calculator(10, 20))

 

-> 위의 결과에 None 반환.

 

return 키워드를 이용하면 함수 실행결과를 호출부로 반환할 수 있다.

def calculator(n1,n2):
	result = n1 + n2
    
    return result
 
print(calculator(10,20))

 

함수가 return을 만나면 실행을 종료한다.

def calculator(n1,n2):
	result = n1 + n2
    return result
    
    print('Hello') #return 뒤에 오는 print는 출력될 수 없음.
 
print(calculator(10,20))

 

4) 지역변수와 전역변수

 - 전역변수

 : 함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다.

 - 지역변수

  : 함수 안에서 선언된 변수로 함수 안에서만 사용가능하다

 - global  키워드

  : global을 사용하면 함수 안에서도 전역변수의 값을 수정할 수 있다

num_out = 10 #전역변수
def printNumbers():
	num_out = 20 #지역변수( num_out변수가 수정되는게 아니라, 이름이 같은 새로운 지역변수 num_out생성됨)
	print(f'num_out: {num_out}')

printNumbers()
print(f'num_out: {num_out}')
num_out = 10 #전역변수
def printNumbers():
	global num_out 
	num_out = 20 
	print(f'num_out: {num_out}')

printNumbers()
print(f'num_out: {num_out}')