IT/Python3
파이썬 함수 사용법
어센트
2021. 12. 10. 14:47
함수
def open_account():
print("새로운 계좌가 생성되었습니다.")
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
def withdraw_night(balance,money):
commission = 100
return commission,balance-money-commission #튜플형식으로 리턴해준다
balance = 0
balance = deposit(balance,1000)
print(balance)
commision,balance = withdraw_night(balance,500)
print('수수료는 {0} 원이며, 잔액은 {1} 원입니다.'.format(commision,balance))
기본값
#디폴트 값 설정
def profile(name,age=17,main_lang="파이썬"):
print('이름: {0}\\t나이:{1}\\t 주 사용언어:{2}'
.format(name,age,main_lang))
profile('유재석')
profile('김태호',25,'자바')
키워드값
#키워드를 통해 전달하면 매개변수 순서가 바뀌어도 가능하다.
def profile(name,age,main_lang):
print(name,age,main_lang)
profile(name="유재석",main_lang="파이썬",age=20)
profile(main_lang="자바",age=20,name="김태호")
가변인자
def profile(name,age,lang1,lang2,lang3,lang4,lang5):
print('이름:{0}\\t 나이: {1}\\t'.format(name,age),end=" ")
#end =" "를 이용하여 개행문자 삭제 가능
print(lang1,lang2,lang3,lang4,lang5)
profile('유재석',20,"python","Java","C","C++","C#")
profile('김태호',25,"Kotlin","Java","Swift","","")
#계속 ""을 인자로 넣는 비효율을 막기 위해 가변인자를 사용한다.
def profile(name,age,*language):
print('이름:{0}\\t 나이: {1}\\t'.format(name,age),end=" ") #end =" "를 이용하여 개행문자 삭제 가능
for lang in language:
print(lang,end=" ")
print()
profile('유재석',20,"python","Java","C","C++","C#")
profile('김태호',25,"Kotlin","Java","Swift")\\
# 서로다른 개수의 값을 넣어줄때는 가변인자(*test)를 이용하여 문제를 해결할 수 있다.
지역변수와 전역변수
gun = 10
def checkpoint(soldiers): #경계근무
global gun # 전역 공간에 있는 gun을 사용하겠다는 의미 즉 위에 선언해놓은 gun 변수를 사용한다는 의미
gun = gun - soldiers
print("[함수 내] 남은 총:{0}".format(gun))
def checkpoint_ret(gun,soldiers): #전역변수를 사용하지 않고 매개변수로 전달하는 경우
gun = gun - soldiers
print("[함수 내] 남은 총:{0}".format(gun))
return gun
print("전체 총 :{0}".format(gun))
# checkpoint(2)
gun = checkpoint_ret(gun,2)
print("남은 총 :{0}".format(gun))