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}')