파이썬 입문 — 계산기처럼 시작하기

파이썬 입문 — 계산기처럼 시작하기

파이썬에 처음 발을 들여 놓을 때 가장 좋은 방법은 인터프리터를 계산기처럼 써 보는 거예요. 프롬프트 >>>에 표현식을 입력하면 바로 값을 돌려주죠. 이 장은 그런 비공식적인 소개로 시작해요. 숫자와 텍스트를 다루는 방법, 그리고 변수에 값을 담는 법까지 자연스럽게 익힐 수 있어요.

출처: 3. An Informal Introduction to Python

예제에서 입력과 출력은 프롬프트(프롬프트 >>>...)의 유무로 구분돼요. 예제를 따라 하려면 프롬프트 뒤에 나오는 부분만 입력하면 돼요. 프롬프트로 시작하지 않는 줄은 인터프리터의 출력이에요. 그리고 예제에 등장하는 주석은 # 문자로 시작해서 물리적 줄 끝까지 이어져요.

# this is the first comment
spam = 1  # and this is the second comment
          # ... and now a third!
text = "# This is not a comment because it's inside quotes."

숫자 — 파이썬은 계산기

인터프리터는 단순한 계산기 역할을 해요. 표현식을 입력하면 그 값을 출력하죠. 연산자 +, -, *, /로 산술을 하고, ()로 묶어 계산 순서를 정할 수 있어요.

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # division always returns a floating-point number
1.6

정수(예: 2)는 타입 int, 소수부가 있는 값(예: 5.0)은 float 타입이에요. 나눗셈 /는 항상 float를 돌려줘요. 정수 몫이 필요하면 //(floor division), 나머지는 %를 써요. 거듭제곱은 **예요.

>>> 17 / 3  # classic division returns a float
5.666666666666667
>>> 17 // 3  # floor division discards the fractional part
5
>>> 17 % 3  # the % operator returns the remainder of the division
2
>>> 5 * 3 + 2  # floored quotient * divisor + remainder
17
>>> 5 ** 2  # 5 squared
25

등호 =는 변수에 값을 할당해요. 할당 후에는 다음 프롬프트가 나타나기 전까지 결과가 표시되지 않아요. 정의되지 않은 변수를 쓰려 하면 NameError가 나요.

>>> width = 20
>>> height = 5 * 9
>>> width * height
900

인터랙티브 모드에서는 마지막으로 출력된 표현식이 변수 _에 할당돼요. 그래서 책상용 계산기처럼 계산을 이어 갈 때 편리해요.

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

_ 변수는 읽기 전용으로 취급해야 해요. 직접 값을 할당하면 마법 같은 동작을 가린 별도의 로컬 변수가 생겨 버려요.

텍스트 — 문자열 다루기

파이썬은 숫자뿐 아니라 텍스트(타입 str, 문자열)도 다뤄요. 문자열은 작은따옴표('...')나 큰따옴표("...")로 감싸는데 결과는 같아요. 문자열 안에서 따옴표를 쓰려면 \로 이스케이프하거나 다른 종류의 따옴표를 쓰면 돼요.

파이썬에서 반복(루프)을 배울 때 기억할 점은, 들여쓰기가 문장을 묶는 수단이라는 거예요. 복합 문장을 입력할 땐 각 줄을 같은 양만큼 들여 써야 해요. 그리고 print() 함수는 여러 인자·float·문자열을 예쁘게 처리해 줘요. 문자열은 따옴표 없이, 항목 사이엔 공백이 들어가요. 키워드 인자 end를 쓰면 출력 끝의 줄바꿈을 바꿀 수 있어요.

>>> i = 256*256
>>> print('The value of i is', i)
The value of i is 65536

>>> a, b = 0, 1
>>> while a < 1000:
...     print(a, end=',')
...     a, b = b, a+b
...
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

더 알아보기