숫자의 길이를 len 함수를 통해 확인하려고 했는데 에러가 발생합니다. 에러를 확인해 보니 type int에 관한 것을 알 수 있는데요. 의미를 알려면 데이터 형식에 대해서 이해를 해야 합니다.

print(len(12345))

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    print(len(12345))
TypeError: object of type 'int' has no len()

기본적인 데이터 형식에는 String, Integer, Float, Boolean 같은 것이 있습니다.

더블 쿼트로 감싼 Hello는 문자열이기 때문에 글자 각각을 개별적으로 뽑아낼 수 있습니다. 만약 첫 번째 글자를 원한다면 Square Bracket 안에 0을 입력하면 됩니다.

print("Hello")[0])

이렇게 문자열에서 특정 요소를 추출하는 방법을 Subscript이라고 합니다.

 H  e  l  l  o
[0][1][2][3][4]

처음 위에서 숫자를 예를 들었는데 숫자도 더블 쿼트로 감싸면 숫자가 아닌 문자로 인식을 합니다.

print("123" + "456")

”123" "456" 숫자를 더블 쿼트로 묶어서 + 연산을 하려고 했는데요. 결과는 12345입니다. 왜냐하면 더블 쿼트로 감싸게 되면 문자열로 인식을 하기 때문에 + (String Concatenation) 동작을 하게 됩니다.

이는 아래 코드와 동일하게 문자열로 인식을 했다고 보시면 됩니다.

print("Hello" + "World")

이제 처음 하려고 했던 숫자에 맞는 데이터 형식으로 선언을 해야 하는데요. Integer 데이터 형식이 있습니다. Integer는 소수점이 없는 숫자를 위한 데이터에 적합합니다.

12345679처럼 큰 Integer를 사용할 때 한 가지 Tip이 있는데요. 일반적으로 해외에서는 큰 숫자를 구분 하기 위해서 천 단위로 쉼표를 넣어서 구분을 합니다.

하지만 파이썬에서는 _ (Under bar)를 사용해서 쉽게 구분할 수 있고 컴퓨터는 이를 무시할 수 있습니다. 그래서 코드를 읽는 개발자 입장에서 더 쉽게 인식할 수 있게 됩니다.

print(123_45 + 1_2345)

소수점이 있는 숫자는 부동 소수(Float)라고 합니다. 우리가 흔히 아는 3.14159인데 소수점에 대해서 위치가 이렇게 변경 3141.59 되더라도 부동 소수입니다.

마지막 Boolean은 딱 두 가지의 값만 존재합니다.

True False

첫 글자 T, F는 대문자로 사용해야 하고 프로그램 내에서는 이것이 참인지 거짓인지에 따른 응답 테스트를 할 때 많이 사용합니다.