TIL - python(함수)

한성봉·2021년 4월 14일

유튜브 '나도코딩'채널의 파이썬 강좌를 토대로 정리한 내용입니다.

함수

입력(함수 정의)

def open_account():
    print("새로운 계좌가 개설되었습니다.")

출력

함수를 정의만 했을때는 출력값이 나오지 않음.

입력(함수 호출)

open_account()

출력

새로운 계좌가 개설되었습니다.

함수의 정의 def open_account(): 만으로는 출력값이 생성되지 않음.
함수의 호출 open_account() 이 있어야 값이 생성됨.

함수에 대한 활용은 다음 예시에서 살펴보자.

입력(함수 정의)

def deposit(balance, money):
    print("입금이 완료되었습니다. 잔액은 {0}원입니다.". format(balance + money))
    return balance + money
def withdraw(balance, money):
  if balance >= money:
      print("출금이 완료되었습니다. 잔액은 {0}원입니다.". format(balance - money))
      return balance - money
  else:
      print("출금이 완료되지 않습니다. 잔액은 {0}원입니다.". format(balance))
      return balance

deposit 입금을 정의하는 함수와 withdraw 출금을 정의하는 함수를 생성했다.
print로 출력하였지만 함수를 정의만 한 상태이기 떄문에 출력값은 아직 없다.

입금 함수 호출

balance = 0 
balance = deposit(balance, 1000)

출력

입금이 완료되었습니다. 잔액은 1000원입니다.

출금 함수 호출

balance = withdraw(balance, 500)

출력

출금이 완료되었습니다. 잔액은 500원입니다.

기본값

입력

def profile(name, age, main_lang)
	print("이름 : {0}\t나이 : {1}\t주 사용 언어 : {2}". format(name, age, main_lang))
profile("유재석", "40", "java")
profile("김태호", "30", "python")

출력

이름 : 유재석   나이 : 40       주 사용 언어 : java
이름 : 김태호   나이 : 30       주 사용 언어 : python

위의 예제에서 만약 agemain_lang 이 같다면 기본값 으로 설정해 줄 수 있다. 밑의 예시를 한번 보자.

입력

def profile(name, age=20, main_lang="파이썬"):
    print("이름 : {0}\t나이 : {1}\t주 사용 언어 : {2}". format(name, age, main_lang))
profile("유재석")
profile("김태호")

출력

이름 : 유재석   나이 : 20       주 사용 언어 : 파이썬
이름 : 김테호   나이 : 20       주 사용 언어 : 파이썬

def profile(name, age=20, main_lang="파이썬"):함수를 정의할 때 agemain_lang 의 기본값을 정의 해놓으면 함수를 호출하여 출력할 때 기본값이 자동으로 출력된다.

키워드값

입력

def profile(name, age, main_lang):
	print(name, age, main_lang)
profile(age=40, name="유재석", main_lang="자바")
profile(main_lang="파이썬", age=30, name="김태호")

출력

유재석 40 자바
김태호 30 파이썬

함수를 정의할 때 키워드를 정의해놓는다면 호출할때 무작위로 호출하여도 정의했을 때 순서대로 출력이 된다.

0개의 댓글