함수 정의
def deposit(balance, money):
print("입금 완료! 잔액은 {0}원 입니다.".format(balance + money))
return balance + money
balance = 0
balance = deposit(balance , 1000)
print(balance) -> 입금 완료! 잔액은 1000원입니다.
-> 1000
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)
balance = withdraw(balance, 500)
commission, balance = withdraw_night(balance, 200)
print("수수료 {0}원, 잔액은 {1}원입니다.".format(commission, balance))
-> 입금 완료! 잔액은 1000원입니다.
-> 출금 완료! 잔액은 500원입니다.
-> 수수료 100원, 잔액은 200원입니다.
기본값
def profile(name, age = 17, main_lang = "python"):
print("이름 : {0}\t나이 : {1}\t주 사용 언어 : {2}"\
.format(name, age, main_lang))
profile("유재석")
profile("김태호")
-> 이름 : 유재석 나이 : 17 주 사용 언어 : python
-> 이름 : 김태호 나이 : 17 주 사용 언어 : python
키워드 인자
def profile(name, age, main_lang):
print(name, age, main_lang)
profile(name="유재석", main_lang="파이썬", age=20)
profile(main_lang="자바", age=25, name="김태호")
가변인자
def profile(name, age, lang1, lang2, lang3, lang4, lang5):
print("이름 : {0}\t나이 : {1}\t".format(name, age), end = " ")
print(lang1, lang2, lang3, lang4, lang5)
profile("유재석", 20, "python", "java", "c", "c++", "c#")
profile("김태호", 25, "kotlin", "swift", "", "", "")
-> 이름 : 유재석 나이 : 20 python, java, c, c++,c c
-> 이름 : 김태호 나이 : 25 kotlin, swift
def profile(name, age, *language):
print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ")
for lang in language:
print(lang, end=" ")
print()
profile("유재석", 20, "python", "java", "c", "c++", "c#")
profile("김태호", 25, "kotlin", "swift")
-> 이름 : 유재석 나이 : 20 python, java, c, c++,c c
-> 이름 : 김태호 나이 : 25 kotlin, swift
지역변수와 전역변수
gun = 10
def checkpoint(soldiers):
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun))
print("전체 총 : {0}".format(gun))
checkpoint(2)
print("남은 총 : {0}".format(gun)) -> 오류 뜸, 변수오류
gun = 10
def checkpoint(soldiers):
global gun
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun))
print("전체 총 : {0}".format(gun)) -> 전체 총 : 10
checkpoint(2) -> [함수 내] 남은 총 : 8
print("남은 총 : {0}".format(gun)) -> 남은 총 : 8
gun = 10
def checkpoint_ret(gun, soldiers):
gun = gun - soldiers
print("[함수 내] 남은 총 : {0}".format(gun))
print("전체 총 : {0}".format(gun))
gun = checkpoint(gun, 2)
print("남은 총 : {0}".format(gun))
-> 전체 총 : 10
-> [함수 내] 남은 총 : 8
-> 남은 총 : 8
숫자함수
함수이름 | 의미 | 예제 |
---|
abs | 절대값 | abs(-5) |
pow | 제곱 | pow(4, 2) |
max | 가장 큰 값 | max(5, 12) |
min | 가장 작은 값 | min(5, 12) |
round | 반올림 | round(3.14) |
print(abs(-5))
print(pow(4, 2))
print(max(5, 12))
print(min(5, 12))
print(round(3.14))
print(round(4.99))
* math 모듈을 활용하면 보다 다양한 숫자 처리 가능
함수 이름 | 의미 | 예제 |
---|
floor | 내림 | floor(4.99) |
ceil | 올림 | ceil(3.14) |
sqrt | 제곱근 | sqrt(14) |
from math import *
print(floor(4.99))
print(ceil(3.14))
print(sqrt(16))
import math
print(math.floor(4.99))
print(math.ceil(3.14))
print(math.sqrt(16))
random 함수
from random import *
print(random())
print(random() * 10)
print(int(random() * 10))
print(int(random() * 10) + 1)
print(int(random() * 45) + 1)
randrange 주어진 범위 내의 임의의 정수 값 생성
randint 주어진 범위 내의 임의의 정수 값 생성(마지막 값 포함)
print(randrange(1, 46))
print(randint(1, 45))
from random inport *
date = randint(1, 30)
print("데이트 날짜는 " + str(date) + "일 입니다.")
문자열 함수
python = "Python is Amazing"
print(len(python))
print(python.replace("Python", "Java"))
index = python.index("n")
print(index)
index = python.index("n", index + 1)
print(index)
find = python.find("n")
print(find)
find = python.find("n", find + 1)
print(find)
print(python.count("n"))
예시
예) http://naver.com
규칙1 : http:// 부분은 제외 → naver.com
규칙2 : 처음 만나는 점(.) 이후 부분은 제외 → naver
규칙3 : 남은 글자 중 처음 세 자리 + 글자 갯수 + 글자 내 'e'의 갯수 + '!'로 구성
(nav) (5) (1) (!)
url = "http://naver.com"
my_str = url.replace("http://", "")
my_str = my_str[:my_str.index(".")]
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) +"!"
print("{0}의 비밀번호는 {1}입니다.".format(url, password))