함수 이해하기 TIL#22

may_soouu·2020년 8월 5일
0

함수는

  • 일반적인 함수

    def add(a,b):
    	result = a + b
        	return result
  • 입력값이 없는 함수

    def say():
    	return 'HI'
     a = say()
     print(a)
       Hi
  • 결과값이 없는 함수

    def add(a,b):
    	print('%d, %d 의 합은 %d다' %(a,b,a+b))
    a = add(3,4)
    print(a)
    None

    print문은 수행할 문장일 뿐 !!! 결과값은 오로지 return명령어로만 돌려받을 수 있음

  • 입력값도 결과값도 없는 함수

    def say():
    	print('Hi')

입력값이 몇 개가 될지 모를 때(가변인자)

def add_many(*args)    #매개변수 앞에 *를 붙여주면 입력값을 전부 모아서 튜플로 만들어 줌
	result = 0
    for i in args:
    	result = result + i
    return result
    _
result = add_may(1,2,3)
print(result)
>> 6
result = add_may(1,2,3,4,5,6)
print(result)
>> 55
==================응용🔰==============
def add_mul(choice, *args):
 	if choice == 'add':
    	    result = 0
            for i in args:
            	result = result + i
    	elif choice == 'mul':
            result = 1
            for i in args:
            	result = result * i
        return result
result = add_mul('add', 1,2,3,4,5)
print(result)
>>15
result = add_mul('mul', 1,2,3,4,5)
print(result)
>> 120
  • 키워드 피라미터
    매개변수 앞에 * 두개 붙이기
    def print_kwargs(**kwargs):
    	print(kwargs)
    print_kwargs(a=1)
    {'a':1}
    print_kwargs(name='foo', age=3)
    {'a':3, 'name':'foo'}

함수의 결과값은 언제나 하나

def add_and_mul(a,b):
	return a+b, a*b
retult = add_and_mul(3,4)
result = (7,12)

return 단독 사용

def say_nick(nick):
	if nick == '바보':
     		 return
     	print('나의 별명은 %s 입니다.' %nick

매개변수 초깃값 미리 설정

def say_myself(name,old,man=True):
	print('나의 이름은 %s 입니다.' %name)
    	print('나이는 %d 입니다.' %old)
   	if man:
    		print('남자')
        else:
        	print('여자')
            
 say_myself('박응용', 27)
 > man값을 입력하지 않아도 초기값이 man이라서 남자 출력
 say_myself('박용응', 27, False)
 > 여자 출력
profile
back-end 개발자

0개의 댓글