02-2 변수 연습하기

윤혜민·박현규 · 7 / 30

그럼 지금부터 변수에 익숙해지기 위해 변수 문법을 연습하겠습니다. 문법 연습은 여러 번 할수록 좋습니다. 앞으로 문법 연습을 할 때는 여러 차례 변주를 주면서 조금씩 다른 형태로 연습하겠습니다.

[연습 01] 변수에 문자열 할당하고 출력하기

변수에 문자열 할당하고 출력하기입니다. 앞에서 자주 했던 코드이므로 어렵지 않을 겁니다.

>>> name = "바로"
>>> print(name)

바로

[연습 02] 숫자 변수 할당하고 확인하기

변수에는 문자열이 아니라 숫자도 할당할 수 있습니다.

>>> age = 20
>>> print(age)

20

[연습 03] 변수에 값 저장하고 계산하기

변수에 값을 저장하고 계산도 해봅시다. 이렇게 변수와 조합하여 계산하는 것을 연산자라고 부릅니다. 연산자에는 사칙연산 외에도 다양한 연산자가 있는데 연산자도 차차 배우겠습니다. 지금은 변수 사용 방법에만 집중합시다.

>>> a = 10
>>> b = 5
>>> result = a + b
>>> print(result)

15

a와 b에 값을 담아서 다시 그 변수를 사용하여 result에 더하여 담았습니다. 직관적으로 이해하기 쉬우니 그렇게 어렵진 않을 겁니다. 다만 수학에서의 =과의 미묘한 차이가 있어 어색할 수 있습니다. 수학에서는 =가 같다라는 뜻이지만 프로그래밍에서는 **= 오른쪽의 계산 결괏값을 왼쪽에 할당한다(저장한다)**라는 의미가 있습니다.

[Note] 프로그래밍 분야에서는 ‘같다’를 ==로 표시합니다.

[연습 04] 변수에 할당한 값 변경하고 확인하기

변수에 할당한 값은 언제든 바꿀 수 있습니다. 다음은 변수 score에 80을 할당하고 출력한 다음 다른 값을 다시 재할당하여 출력하는 예입니다. 값을 재할당했으니 이전에 할당했던 80은 사라지고 90으로 덮어씌워진 겁니다.

>>> score = 80
>>> print(score)

80

>>> score = 90
>>> print(score)

90

[연습 05] 여러 변수에 값 할당하고 출력하기

student, grade에 각각 문자열, 숫자를 저장하고 print( ) 함수로 출력하는 예입니다. 3. 변수에 값 저장하고 계산하기에서는 숫자를 더했을 때 숫자를 더한 결과가 나왔지만 문자열과 문자열을 더하면 문자열을 이어붙입니다.

>>> student = "민수"
>>> grade = 85
>>> print(student + "의 점수: " + str(grade) + "점")

민수의 점수: 85점

이처럼 파이썬은 변수에 담은 값이 무엇인지에 따라 같은 더하기를 해도 다르게 처리합니다. 이런 규칙은 나중에 자료형을 공부하면서 자세히 알아봅니다. 우선은 파이썬에서는 숫자의 더하기와 문자열의 더하기를 다르게 취급한다라는 개념만 알아두고 갑시다.

[연습 06] 변수에 할당한 값 f-string으로 출력하여 확인하기

[연습 05] 여러 변수에 값 할당하고 출력하기에서 문장을 print( ) 함수로 출력할 때 +를 쓰는 것이 불편하게 느껴졌다면 f-string을 사용하면 됩니다. 파이썬 문법은 '불편하고 귀찮은 것'을 해결하는 방향으로 발전해왔습니다. f-string은 큰따옴표로 감싼 문자열 앞에 f를 붙이고 그 안에 변수나 문자를 사용하여 문자열을 표현하는 방식의 문법입니다. 처음에 f-string을 마주하면 복잡하게 느껴지지만 오히려 이 방식이 여러모로 편리하다는 걸 알 수 있습니다.

>>> student = "민수"
>>> grade = 85
>>> print(f"{student}의 점수: {grade}점")

민수의 점수: 85점

코드를 실행하고 결과를 보면 f"와 " 사이에 일반 문자 또는 {student}와 같은 변수를 사용한 것을 볼 수 있습니다. 이것들이 하나로 어우러져 문자열을 이루는 겁니다. 매번 변수의 값을 문자열과 합치기 위해 + 기호나 큰따옴표로 감싼 문자열을 중간중간 넣는 것보다 이것이 훨씬 보기도 편하고 사용하기도 편합니다. 만약 + 기호로 문자열을 연결해서 같은 문장을 출력하려면 이렇게 코드를 작성해야 했을 겁니다.

student = "민수"
grade = 85

print(student + "의 점수:" + grade + "점") # 민수의 점수: 85점

코드를 보면 +를 3번이나 사용해야 하는 것도 불편하지만 이제 막 파이썬을 시작한 사람이 "로 감쌀 문자열을 구분하기도 쉽지 않습니다. 한마디로 직관적이지 않습니다. 그래서 저는 앞으로 문자열 출력에는 f-string을 자주 사용하겠습니다.