본문 바로가기

프로그래밍/BOJ_Python 목표는 Diamond

파이썬 함수의 종류 4가지

함수는 프로그래밍시 똑같은 내용의 반복 작성을 막고 프로그램의 흐름을 파악하기 쉽게 한다.

 

파이썬 함수에는 4가지 종류가 있다.

 

파이썬 함수의 종류

1. 일반적인 함수

#형태
def add(a,b):
	return a+b
  
  
#사용
a = add(3,4)
print(a)

2. 입력값이 없는 함수

#형태
def cat():
	return "Meow"
  
  
#사용
a = cat()
print(a)

>>Meow

3. 결과값이 없는 함수(return문이 없는 함수)

#형태
def add(a,b):
	print("%d와 %d의 합은 %d입니다."%(a,b,a+b))
  
  
#사용
add(3,4)
>> 3과 4의 합은 7입니다.

print(a)
>>None

4. 입력값, 결과값 둘다 없는 함수

#형태
def cat():
	print("Meow")
  
  
#사용
cat()

 

매개변수

def add_div(choice, *args):
	if choice == "add":
    	result = 0
        for i in args:
        	result += i
    
    elif choice == "div":
    	result = 1
        for i in args:
       		result *= i
   
   return result

*매개변수 형태는 정해지지 않은 여러개의 매개변수를 입력할 수 있다.

이 형태는 튜플로 저장된다.

 

**매개변수 형태는 딕셔너리로 저장된다.

def kward_argument(**kwargs):
	print(kwargs)
    
print kward_argument(a=1)
>>{'a',1}

 

함수의 결과값은 항상 하나이다.

def add(a,b):
	return a+b, a*b

result = add(3,4)
>>result = (7,12) #튜플 형태인 하나의 값으로 제공

result1, result2 = add(3,4)
>> result1 = 7, result2 = 12

 

자주 사용되는 return 활용법

# name값으로 "나"가 들어오면 print문을 실행하지 않고 함수 종료

def my_name(name):
	if name == "나":
    	return
    print("제 이름은 %s 입니다."%name)

매개변수의 초기값 설정은 매개변수들 중 맨 끝 위치에서만 가능하다.

 

함수 안에서 함수 밖의 변수 변경하기

1. return 문 사용

a = 1

def abc(a):
	a = a+1
    return a
    
a = abc(3)
print(a)

>> 4

2. global 명령어 사용

함수 내부에 global a 

함수는 독립적으로 존재하는 게 좋기 때문에 프로그래밍 시 사용하지 않는 것이 좋다.

 

lambda 함수

#lambda 매개변수:표현식
lambda a,b : a+b