cs

매개변수를 넣고 -> 함수를 통해서 -> 결과인 리턴값을 가져온다. 

마치 

f(x) = x+3 이런 느낌.. 

 

함수의 기본

함수 = '코드의 집합 이런거고, 함수의 기본형태는 아래와 같음

def 함수이름():

    문장

 

def print_3_times():
    print("힘내자")
    print("버티자")
    print("봄은 온다")

print_3_times()

너무 우울한가,,,

암튼 함수 괄호 안에 들어갈 여러가지들을 매개변수라고 하는데, 예제를 통해서 한번 봐보자 

def print_n_times(value, n):
    for i in range(n):
        print(value)
    
print_n_times("힘내고 버티고 즐기자", 5)

함수 하나만 만들어 놓으면 뒤에 value와 순서를 만들어줌을 통해서 쉽게 반복문을 만들수도 있다. 

 

 

 

가변 매개변수

가변 매개변수의 함수 구조를 먼저 보면 

 

def 함수 이름 (매개변수, 매개변수, ..., *가변 매개변수):

       문장

 

이런식으로 맨  뒤에 올 수있고, 매개변수는 무조건 하나만 사용이 가능하다.

즉, 매개변수를 원하는 만큼 받을 수 있는 함수가 가변 매개변수

 

def print_n_times(n, *values):
    #n번 반복하기
    for i in range(n):
        #value는 리스트처럼 활용
        for value in values:
            print(value)
        #줄바꿈이거고
        print()

print_n_times(3, "힘을 내야지", "집중하고", "파이팅하자")

즉 매개변수로 넣은 값을 편하게 반복시킬 수 있는 ? 그런 느낌 

 

 

 

기본 매개변수

print()함수 가장 앞에 나오는게 value인데, value자체가 '가변 매개변수'이다. 

기본 매개변수는, 매개변수를 입력하지 않았을 경우에 매개변수에 들어가는 기본값.

헷갈리니까 바로 예제,,,

def print_n_times(value, n=2):
    #n번 반복
    for i in range(n):
        print(value)

print_n_times("사람도 더 많나고, 나한테 더 투자하자")



사실 n값을 앞에 써주냐 뒤에 써주냐 그런 느낌인듯하다.

 

 

키워드 매개변수

이건 지금 계속 예제를 해봐도 잘 이해가 안가는데, 회사 개발자님한테 한번 물어봐야겠다..

def print_n_times_test(*values, n=3):
    #n번 반복
    for i in range(n):
        #values 는 리스트처럼 활용
        for value in values:
            print(value)
        print()
        
print_n_times_test("책리뷰도 다시해야하고", "운동은 계속하고", "플라워클래스 다시 시작이요", n=2)

 위에서 n을 매개변수 준건 아무 영향이 없는지, 아래 마지막에 n=2값이 최종 n값으로만 적용이 되는지..?

 

 

 

리턴

input()함수는 함수를 실행하고 나서 결과를 받아서 사용한다, 이런 결과값을 리턴값이라고 하는데.

네, 예제를 볼겁니다. 

 

 

자료없이 리턴하기

#함수 정의
def return_test():
    print("프로틴")
    return
    print("닭가슴살")
    
return_test()

위의 결과에서 프로틴을 가지고 왔는데,

return 키워드를 통해서 함수를 실행했던 위치로 돌아가라는 의미와 함수를 여기서 끝내라는 의미를 가지고있어서 프로틴만 가지고 온것이다. 

 

 

기본 매개변수와 키워드 매개변수, 그리고 리턴까지 함께 사용

#함수 선언

def sum_all(start=0, end=100, step=1):
    #변수 선언
    output=0
    #반복문을 돌려 숫자 더해주기
    for i in range(start, end +1, step):
        output += i
    return output

print("A.", sum_all(0, 100, 10))
print("B.", sum_all(end=100))
print("C.", sum_all(end=100, step=2))

한번에 이해하고싶어서 예제로 왔는데, 이해하는데 한참 걸렸다.. 

책에서 말하는 것 처럼 함수를 잘 써먹어 보려면 많이 보고 써보는 방법 말고는 없는 듯 하다

 

 

 

 

+ Recent posts