본문 바로가기
IT

[Python] 파이썬 문법 정리[2탄] (함수, 반환문, 지역변수, 전역변수, 람다)

by 유나니나노 2024. 5. 8.
반응형

 

함수

파이썬에서 함수는 특정 작업을 수행하는 코드의 집합을 의미합니다. 함수는 코드의 재사용성을 높이고 구조를 보다 명확하게 할 수 있도록 도와줍니다. 함수를 사용함으로써, 복잡한 문제를 작은 부분으로 나누어 해결할 수 있으며, 코드의 유지보수가 용이해집니다.

  • 함수 정의와 호출
#함수 정의
def func():
	print("Hi")
    
#함수 호출
func()
  • 인자를 받는 함수
#인자를 받는 함수 정의
def print_message(message):
	print(message)
    
#함수 호출
print_message("Hello")
  • 반환 값이 있는 함수
#반환 값이 있는 함수 정의
def add(a, b):
	return a + b
    
#함수 호출
result = add(5, 3)
print(result) # 8
  • EX) 리스트 내 요소들의 평균 구하기
#리스트 내 요소들 평균 함수
def cal_avg(numbers):
	if len(numbers) == 0
    	return 0
    return sum(numbers) / len(numbers)
    
#함수 호출
numbers = [1, 2, 3, 4, 5]
avg = cal_avg(numbers)
prnit(avg) #3.0

 

반환문

반환문(Return문)은 함수 내에서 사용되며, 함수를 호출한 곳으로 값을 돌려보내는 역할을 합니다. return문을 사용하면 함수의 실행이 그 지점에서 종료되고, 지정한 값이 함수를 호출한 곳으로 반환됩니다. 함수에서 return문을 사용하지 않으면 기본적으로 None값을 반환합니다.

  • 간단한 반환
def sum_numbers(a, b)
	return a + b
    
result = sum_numbers(1, 2)
print(result) #3
  • 여러 값을 반환
def ari_oper(a, b):
	sum_res = a + b
    mul_res = a * b
    return sum_res, mul_res
    
sum_val, mul_val = ari_oper(10, 5)
print(sum_val) #15
print(mul_val) #50
  • 조건에 따라 다른 값을 반환
def is_even(number):
	if(number % 2 == 0):
    	return True
    else
    	return False
        
print(is_even(2)) #True
print(is_even(3)) #False
  • 조기 반환
def divide(a, b):
	if b == 0:
    	print("0으로 나눌 수 없습니다.")
        return
    return a/b
    
result = devide(10, 0)
print(result) # 0으로 나눌 수 없습니다.

 

지역, 전역 변수

지역변수: 함수 내부에서 정의되고 사용되는 변수입니다. 지역변수의 범위는 해당 변수가 선언된 함수 내부로 한정되어 있으며, 함수 외부에서는 접근할 수 없습니다.

전역변수: 전역변수는 함수 외부에서 정의되는 변수로, 프로그램 전체에서 접근하고 수정할 수 있습니다.

  • 지역 변수
def func():
	local_val = '지역변수'
    print(local_val) #함수 내부에서 접근 가능
    
func()
#print(local_val) 오류, 함수 외부에서 접근 불가능
  • 전역 변수
global_val = '전역변수'

def func():
	print(gloval_val) #함수 내부에서 전역변수 접근 가능
    
func()
print(global_val) #함수 외부에서 전역변수 접근 가능

######################################################
#전역변수 수정 방법

global_val = 5

def change_global_val():
	global global_val # 전역변수 수정 명시
    global_val = 10
    
print(global_val) #5
change_global_val()
print(global_val) #10

 

람다(Lambda)

파이썬에서 람다 함수는 작고 이름이 없는 함수로, 여러 개의 인자를 받을 수 있지만 오직 하나의 표현식만 가질 수 있습니다. 이들의 문법은 lambda 인자:표현식 형태의 단일 문장으로 구성됩니다. 람다 함수는 함수 객체가 필요한 곳이라면 어디에서나 사용될 수 있으며, 단일 표현식으로 제한됩니다.

  • 두 숫자 더하기
add = lambda x,y: x+y
print(add(5, 3)) # 8
  • 숫자의 제곱 구하기
square = lambda x: x*x
print(square(4)) # 16
  • 튜플 리스트를 두 번째 아이템으로 정렬하기
list_of_tuples = [(1, 'one'), (3, 'three'), (2, 'two'), (4, 'four')]
list_of_tuples.sort(key=lambda x:x[1])
print(list_of_tulpes) #[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
  • 숫자 리스트 필터링하기
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x%2 == 0, numbers))
print(even_numbers) #[2, 4, 6]
  • 숫자 리스트를 그 제곱으로 매핑하기
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x:x**2, numbers))
print(squared_nubmers) #[1, 4, 9, 16, 25]

 

오늘은 파이썬에서의 함수, 반환문, 지역변수, 전역변수, 람다의 예시를 보았습니다.

다음에는 데이터 타입의 자료형, 문자열과 리스트, 튜플 등을 공부해보겠습니다!

 

반응형