Python 기초(1): 변수, 함수, 매개변수, 인자, 함수기본값, 사칙연산, 리턴, f""

Sophie·2023년 12월 14일
0

Python 기초

목록 보기
1/6

1. 변수(Varaibles)

변수는 세로 작성을 원칙으로 한다.

a = 2
b = 3
c = a + b
a = 11
b = 13
print(c) 
#출력: 5

변수명은 반드시 글자로 시작하며, 숫자는 중간이나 끝에만 들어갈 수 있다.

#옳은 예시
my_age = 88 (snake case)
myAge = 88 (camel case)
my1age = 88
myAge1 = 88

#틀린 예시
1myAge = 88

2. Data Type

데이터 형식을 문자로 나타내고 싶을 때는 "" 안에 작성한다.

my_name = sophie (x)
my_name = "sophie" (o)

my_age = "12"

Boolean은 대문자 True 혹은 False로 작성한다.

alive  = True
dead = False
print(alive)
#출력: True

3. 함수(Function)

함수란, 우리가 작성해서 몇 번이고 재사용이 가능한 코드를 말한다.

함수를 정의할 때는 def 뒤에 함수명을 작성한다.
여기서 주의할 사항은 def say_hello(): 다음 줄에 들여쓰기(tap 혹은 space d두 번)를 하지 않고 함수를 정의할 경우, 에러가 난다.

왜냐하면 파이썬은 빈 공백을 이용해서 어떤 것 안에 어떤 게 있는지 이해하기 때문이다.

#옳은 예시
def say_hello():
	print("hello how r u?")  
say_hello()

#틀린 예시
def say_hello():
print("hello how r u?")  
say_hello()

4. 매개변수(Parameter)&인자(argument)

매개변수란, 함수 내에 데이터가 들어갈 수 있는 공간, 혹은 함수 안으로 데이터를 보내 함수의 결과를 바꿀 수 있게 해주는 것을 말한다. 아래 예시에서 say_hello()라는 함수의 괄호 안에 들어가는 user_name이 여기에 해당한다. 여기서 user_name은 임의로 지정한 것일 뿐 user, member 등 다른 이름이 될 수 있으며, 특정한 값(예: 철수, 영희, sophie 등등)을 갖고 있지는 않다.

인자란, 함수가 호출될 때 우리가 지정한 매개변수의 자리에 들어갈 특정한 값을 가리킨다. 호출한 say_hello(sophie)에서 sophie가 바로 인자에 해당한다.

def say_hello(user_name):
	print("hello", user_name, "how r u?")

say_hello("sophie")
#출력: hello sophie how are u? 

만약 매개변수를 여러개 지정하고 싶다면 콤마를 사용하면 된다.
이때, 각각의 매개변수의 순서에 맞게 인자의 순서를 맞춰줘야 한다.

def say_hello(user_name, user_age):
	print("hello", user_name)
    print("you are", user_age, "years old")

say_hello("sophie", 12)

#출력: hello sophie
      you are 12 years old 

이때, 매개변수에 기본값을 지정할 수도 있는데,
아래 예시를 보면 say_hello 함수는 1개의 인자를 반드시 받아야하지만
만약 인자를 넣지 않았을 때 사용자에게 에러메세지를 띄우는 대신
위에서 지정한 기본값(anonymous)이 나타나도록 하는 것이다.

def say_hello(user_name="anonymous"):
	print("Hello", user_name)
    
say_hello("sohpie")
say_hello()

#출력: Hello sophie
	  Hello anonymous
      
def plus(a=0, b=0):
  print(a + b)

def minus(a=0, b=0):
  print(a-b)

def multiplication(a=0, b=0):
  print(a*b)

def division(a=0, b=1):
  print(a/b)

def square(a=0, b=1):
  print(a**b)


#수식으로 만든 예시

def plus(a=0, b=0):
  print(a + b)

def minus(a=0, b=0):
  print(a-b)

def multiplication(a=0, b=0):
  print(a*b)

def division(a=0, b=1):
  print(a/b)

def square(a=0, b=1):
  print(a**b)


plus(1,3)
plus()

minus(2,4)
minus()

multiplication(2,7)
multiplication()

division(2,4)
division()

square(3,2)
square()

#출력
4
0
-2
0
14
0
0.5
0.0
9
0

5. 리턴(return)

리턴이란, 함수 바깥으로 값을 보내는 것을 의미한다.

지금까지는 함수로부터 도출된 값을 단순히 print()를 통해 콘솔창에 나타내기만 했다면,
return을 사용하면 함수로부터 받은 값을 함수 밖으로 꺼내 쓸 수 있게 된다.

아래 예시를 보면, tax_calc()의 리턴값을 pay_tax()에 사용하기 위해
두 개 함수의 연결고리인 to_pay 변수를 만들어준 것을 알 수 있다.

def tax_calc(money):
	return money * 0.35

def pay_tax(tax):
	print("thank you for paying", tax)

to_pay = tax_calc(150000000)

pay_tax(to_pay)

#출력: thank you for paying 52500000.0

해당 함수를 더 짧게 만들고 싶다면 to_pay 변수를 없애고
tex_calc(150000000)함수를 pay_tax의 인자 자리에 직접 넣어도 된다.

def tax_calc(money):
	return money * 0.35

def pay_tax(tax):
	print("thank you for paying", tax)

pay_tax(tax_calc(150000000))

#출력: thank you for paying 52500000.0

f"{변수}": 문자열 안에 변수를 넣는 방법

파이썬에서는 쌍따옴표("") 앞에 f(format)를 붙여주면 문자열 안에 중괄호를 써서 변수를 바로 사용할 수 있다.

my_name = "sophie"
my_age = 12
my_eyes_color = "brown"

f"Hello I'm {my_name}, I have {my_age} years in the earth, my eyes color is {my_eyes_color}"

#출력: Hello I'm sophie, I have 12 years in the earth, my eyes color is brown

이걸 리턴값과 함께 사용할 수 있는 예시를 보자.

def make_juice(fruit):
  return f"{fruit}+🥤"


def add_ice(juice):
  return f"{juice}+🧊"


def add_sugar(iced_juice):
  return f"{iced_juice}+🍬"


juice = make_juice("🍎")
print(juice) #이해를 돕기 위해

cold_juice = add_ice(juice)
print(cold_juice) #이해를 돕기 위해

perfect_juice = add_sugar(cold_juice)

print(perfect_juice)


#출력:
🍎+🥤
🍎+🥤+🧊
🍎+🥤+🧊+🍬

return의 특징 중 하나는, 리턴을 사용하는 순간 함수가 종료된다는 점이다.
예를 들어, 아래 예시에서 return f"{fruit}+🥤"뒤에 작성된 print("lalala")는 실행되지 않고
곧바로 return f"{fruit}+🥤"이 불린 곳인 juice = make_juice("🍎")으로 돌아간다.

def make_juice(fruit):
  return f"{fruit}+🥤"
  print("lalala")


def add_ice(juice):
  return f"{juice}+🧊"


def add_sugar(iced_juice):
  return f"{iced_juice}+🍬"


juice = make_juice("🍎")
cold_juice = add_ice(juice)
perfect_juice = add_sugar(cold_juice)

print(perfect_juice)

각주, 코멘트

한 줄을 각주처리 할 때는 #을 문장 앞에 붙여주면 되고,
두 줄 이상을 각주처리 할 때는 코드 시작줄과 마지막줄 끝에 쌍따옴표(") 세 개를 써주면 된다.

0개의 댓글