Python | 함수

🛟 Dive.·2024년 2월 24일
0

Python

목록 보기
9/22

함수의 필요성

  • 내용이 점점 길고 복잡해지면서 소스코드를 이해하기 힘듦.
  • 같은 기능을 하는 코드가 반복적으로 필요할 때 매번 입력 반복 -> 시간과 노력의 낭비, 크고 복잡한 소스
  • 기존에 작성한 코드를 재활용할 때 원하는 코드를 다시 활용.
  • 소스 코드가 늘어남에 따라 필요한 변수가 많아지고 관리가 복잡해짐.

함수의 장점

  • 소스 코드가 기능별로 깔끔하게 구분 -> 다른 사람이나 자신이 분석하기 쉬워짐.
  • 같은 코드가 여러 번 필요하게 될 떄 그것을 하나의 함수로 만들고, 그 함수를 필요한 수만큼 호출.
  • 기존에 작성한 코드의 재활용.
  • 각 함수별로 변수 관리.

함수의 사용

  1. 함수 작성 - 함수 정의.
  2. 함수 호츨 - 함수 호츨.

함수 사용

def print_address():
	print('서울특별시 종로구 1번지')
    print('파이썬 빌딩 7층')
    print('홍길동')
    
print_address()

한 번만 함수를 정의하면 언제든지 필요할 때면 함수를 불러서 일을 시킬 수 있음.

함수에 입력 전달

  • 우리는 함수에 값(정보)를 전달 할 수 있음. 이 값을 인수(agument)라고 함.

인수 전달

def print_address(name):
	print('서울특별시 종로구 1번지')
	print('파이썬 빌딩 7층')
	print(name)
    
print_address('홍길동')

값 반환

  • 함수는 값을 반환할 수 있음.

값 반환 예제

def calculate_area(radius):
	area = 3.14 * radius ** 2
    return area
    
c_area = calculate_area(5.0)

함수에 여러 개의 입력 전달

def get_sum(start, end):
	sum = 0
    for i in range(start, end + 1):
    	sum += i
    return sum

변수의 종류

  • 지역변수(local variable) : 함수 안에서 선언되는 변수.
  • 전역변수(local variable) : 함수 외부에서 선언되는 변수.

지역변수

  • 지역변수는 함수 안에서만 사용이 가능.
  • 아래의 코드에서 지역 변수를 찾아보자.
def calculate_area(radius):
result = 3.14 * radius * 2
return result

r = float(input('원의 반지름 : '))
area = calculate_area(r)
print(result)

전역변수

  • 전역 변수는 어디서나 사용할 수 있음.
  • 아래의 코드에서 전역 변수를 찾아봄.
def calculate_area():
	result = 3.14 * r ** 2
	return result
    
r = float(input('원의 반지름 : "))
area = calculate_area()
print(area)

함수 안에서 전역 변수 변경.

def calculate_area(radius):
	area = 3.14 * radius ** 2
    return
    
area = 0
r = float(input('원의 반지름 : '))
calculate_area(r)
print(area)

디폴트 인수

def greet(name, msg = 'hi ?'):
	print('안녕', name + ',' + msg)
    
greet('길동')

키워드 인수

def calc(x, y, z):
	return x + y + z

콜백 함수

def drawit(x, y):
	t.penup()	
...
...
...
s = turtle.Screen()
s.onscreenclick(drawit)

정리.

  1. 함수가 무엇인지를 학습하였음.
  2. 인수와 매개변수가 무엇인지를 학습하였음.
  3. 어떻게 함수로 인수를 전달할 수 있는지를 학습.
  4. 여러 개의 인수를 함수로 전달하는 방법을 학습.
  5. 함수가 값을 반환하는 방법을 학습.
  6. 지역변수와 전역변수의 차이점에 대해여 학습.
  7. global 키워드를 사용하여서 함수 안에서 전역변수를 사용하는 방법을 학습.
profile
Data Science. DevOps.

0개의 댓글