[Python] 함수 사용법

Jimin_Note·2022년 5월 8일
0

[Python]

목록 보기
6/34
post-thumbnail

python 에서 함수 사용법을 익힌다

def 함수명(매개변수):
    <수행할 문장1>
    <수행할 문장2>
    ...
def add(a, b):  # a, b는 매개변수
    return a+b

print(add(1, 2)) # 1, 2는 인수

⇒ 3

함수의 이름 : add

입력값 : 1, 2

결과값 : 3

입력값이 없는 함수

def say(): 
    return 'Hi'
a=say()
print(a)

⇒ Hi

함수의 이름 : say

입력값 : 없음

결과값 : Hi

위 함수를 쓰기 위해서는 say()처럼 괄호 안에 아무 값도 넣지 않아야 한다.

그러므로 입력값 없이 함수를 썼고 print문을 이용해 결과값을 도출했다고 볼 수 있다.

결과값이 없는 함수

def add(a, b): 
    print("%d, %d의 합은 %d입니다." % (a, b, a+b))  #return 없이 print문 사용
add(3, 4)

⇒ 3, 4의 합은 7입니다.

함수의 이름 : add

입력값 : 3, 4

결과값 : 없음

문장 출력이 되었는데 왜 결과값이 없다는 것이냐!!

print문을 사용하지 않았기 때문이다. 함수 add 내에 있는 print 문은 <수행할 문장>일 뿐이다.

즉, print문을 사용하여 결과값을 도출했다기 보다는 함수 add를 사용하여 출력된 것이 맞다.

결괏값은 오직 return 명령어로만 돌려받을 수 있다.

매개변수 지정하여 호출

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

result=add(a=1,b=2)
print(result)

⇒ 3

result=add(b=2,a=1)
print(result)

⇒ 3

매개변수를 지정하여 호출하면 위 처럼 순서에 상관없이 사용 가능

입력값이 몇 개인지 정해지지 않았을 때

def 함수이름(*매개변수): 
    <수행할 문장>
def add_many(*args): 
   result = 0 
   for i in args: 
      result = result + i 
   return result 

*args처럼 매개변수 이름 앞에 *을 붙이면 입력값을 전부 모아서 튜플로 만들어줌

add_many(1, 2, 3)
⇒ args는 (1, 2, 3)

키워드 파라미터 kwargs

defprint_kwargs(**kwargs):
     print(kwargs)
 print_kwargs(a=1)
=>{'a': 1}
 print_kwargs(name='foo', age=3)
=>{'age': 3, 'name': 'foo'}

입력값 a=1 또는 name='foo', age=3이 모두 딕셔너리로 출력

즉,  **kwargs처럼 매개변수 이름 앞에 **을 붙이면 매개변수 kwargs는 딕셔너리가 되고

모든 key=value 형태의 결과값이 그 딕셔너리에 저장된다.

변수 = lambda 파라미터 : 명령

  • 익명 함수 표현식

  • 함수를 간편한 수식으로 표현

def b(x):
    return x + 10
print(b(10))

b = lambda x : x + 10
print(b(10))
profile
Hello. I'm jimin:)

0개의 댓글