python

변수와 함수

설유리아 2020. 1. 15. 19:03

변수


변수 이름 = 변수에 넣을 값

변수에 넣을 값은 문자열, 숫자형, 불린, Type 함수가 가능하다.

Number = 1
print(Number)
String = "문자"
print(String)
Boolean = 3 > 2
print(Boolean)
Type = type(3)
print(Type)

결과

변수 이름 특징

  • 맨 앞에 _ 가능
  • 맨 앞에 숫자는 불가능
  • 대소문자 구별
Number = 0
print(Number)
number = 2
print(number)
print(Number)

결과

 


함수


함수의 기본 구조

def 함수이름 (파라미터) :
    실행할 문장 1
    실행할 문장 2
    실행할 문장 3

파라미터

  • 필요하지 않으면 쓰지 않아도 된다.
  • 원하면 값을 바꿀 수 있다.
  • 여러 개를 만들어 줄 수 있다.
  • 파라미터를 바꿀 수 있다.
def hello():
    print("Hello! \n")
hello()

def HelloName(name):
    print("Hello, %s! \n" % (name))
HelloName("사과")
HelloName("아이스크림")

def sum(a, b):
    print(a + b)
sum(1, 2)

def profile(name, age):
    print(name)
    print(age)

my_name = "설유리아"
my_age = "19"

profile(my_name, my_age)

결과

 


syntactic sugar

묶어진 두 줄은 같은 결과가 나온다.
x = x + 1
x += 1

x = x + 2
x += 2

x = x * 2
x *= 2

x = x - 1
x -= 1

x = x / 2
x /= 2

x = x % 2
x %= 2

 

Optional Parameters

파라미터의 기본 값을 설정해두면 함수를 호출할 때 파라미터에 해당하는 값을 받지 못할 경우, 기본 값을 가지게 된다.

파라미터의 값을 중간에 주지 않고, 처음과 끝에만 줄 경우 오류가 난다.

기본값은 처음이나, 중간에 주면 오류가 나고 끝에만 주어야 오류가 나지 않는다. (처음부터 끝까지 주면 오류 X)

def myself(name, age, like = "초콜렛"):
    print("내 이름은 : %s" % name)
    print("나이는 : %d" % age)
    print("좋아하는 것은 : %s \n" % like)

myself("설유리아", 19, "사과")
myself("설유리아", 19)

def my(name = "유리", age = 19, like = "젤리"):
    print("내 이름은 : %s" % name)
    print("나이는 : %d" % age)
    print("좋아하는 것은 : %s \n" % like)

my("설유리아", 20)
my("설유리아")
my()

결과

 


거스름돈 계산기


def calculate_change(payment, cost):
    change = payment - cost
    fifty_thousand_count = int(change / 50000)
    change = change % 50000
    ten_thousand_count = int(change / 10000)
    change = change % 10000
    five_thousand_count = int(change / 5000)
    change = change % 5000
    one_thousand_count = int(change / 1000)
    change = change % 1000

    print("50000원 지폐: %d" % (fifty_thousand_count))
    print("10000원 지폐: %d" % (ten_thousand_count))
    print("5000원 지폐: %d" % (five_thousand_count))
    print("1000원 지폐: %d \n" % (one_thousand_count))

calculate_change(100000, 33000)
calculate_change(500000, 378000)

결과

def calculate_change(payment, cost):
    global replacement
    change = payment - cost
    replacement = change

    def calculate(number,money):
        global replacement
        count = int(replacement / money)
        replacement = replacement % money
        print("%s원 지폐 : " % (number) + str(count))
        
    calculate("50000" ,50000)
    calculate("10000", 10000)
    calculate("5000", 5000)
    calculate("1000", 1000)
    print()

calculate_change(100000, 33000)
calculate_change(500000, 378000)

결과