소개
Python의 세계에 오신 것을 환영합니다! 이번 실습에서는 Python 프로그래밍의 기본 구성 요소인 데이터 타입과 연산자에 대해 알아봅니다. 숫자, 텍스트, 참/거짓 값을 다루는 방법을 배우고, 계산과 비교를 수행하는 법을 익힐 것입니다. 이 실습은 초보자를 위해 설계되었으므로 단계별로 차근차근 진행하겠습니다. 처음 접하는 내용이라도 걱정하지 마세요. 저희가 안내해 드리겠습니다. 시작해 볼까요!
Python의 숫자 이해하기
이번 단계에서는 Python의 두 가지 주요 숫자 타입인 정수(integers, 소수점이 없는 수)와 실수(floats, 소수점이 있는 수)를 살펴보겠습니다.
먼저 Python 인터프리터를 엽니다. 이는 Python 코드를 한 줄씩 실행할 수 있게 해주는 도구입니다. 초보자에게는 데스크톱 인터페이스가 더 사용하기 편리합니다. 터미널 사용이 익숙하다면 왼쪽 상단에서 별도의 터미널 탭을 열어 더 원활하게 작업할 수 있습니다. 두 방법 모두 동일한 결과를 얻을 수 있습니다.

터미널에 다음을 입력하세요:
python
>>> 표시가 나타나면 Python이 명령을 받을 준비가 된 것입니다.

**정수(integers)**부터 시작해 보겠습니다. 정수는 -1, 0, 100과 같은 소수점이 없는 수입니다.
books = 5
print(f"I have {books} books.")
type(books)
출력:
I have 5 books.
<class 'int'>
여기서 books라는 변수를 만들고 5라는 값을 할당했습니다. 변수는 정보를 저장하는 상자와 같습니다. print() 함수는 화면에 결과를 표시합니다. 우리는 f-string(따옴표 앞에 붙은 f를 확인하세요)을 사용하여 books 변수의 값을 텍스트 안에 쉽게 포함했습니다. type() 함수는 books가 int(정수) 타입임을 알려줍니다.
다음으로 부동 소수점 숫자(floating-point numbers), 즉 **실수(floats)**를 살펴보겠습니다. 이는 소수점이 있는 숫자입니다.
price = 19.99
print(f"This book costs ${price}.")
type(price)
출력:
This book costs $19.99.
<class 'float'>
price 변수는 소수점이 있으므로 float 타입입니다.
이제 간단한 계산을 해보겠습니다. Python은 계산기로 사용할 수 있습니다!
quantity = 3
total_cost = price * quantity ## Let's calculate the total cost
print(f"The total cost for {quantity} books is ${total_cost:.2f}.")
출력:
The total cost for 3 books is $59.97.
* 연산자를 사용하여 price와 quantity를 곱했습니다. f-string 내의 .2f는 숫자를 소수점 둘째 자리까지 형식화합니다. # 기호는 주석을 시작합니다. 주석은 사람이 읽기 위한 메모이며 Python은 이를 무시합니다.
자유롭게 직접 계산을 시도해 보세요! 변수에 새로운 값을 다시 할당하여 어떤 일이 일어나는지 확인해 볼 수 있습니다.
텍스트(문자열) 다루기
이번 단계에서는 Python에서 텍스트를 표현하는 데 사용되는 문자열(strings)에 대해 배웁니다.
Python 인터프리터에서 문자열 변수를 만들어 보겠습니다. 문자열은 항상 작은따옴표(')나 큰따옴표(")로 감싸야 합니다.
name = "Alice"
print(f"Hello, {name}!")
type(name)
출력:
Hello, Alice!
<class 'str'>
str 데이터 타입은 Python에서 문자열을 나타냅니다.
문자열은 여러 방식으로 결합하거나 조작할 수 있습니다. 몇 가지 일반적인 연산을 시도해 봅시다.
## Joining two strings together (concatenation)
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)
출력:
John Doe
## Repeating a string
cheer = "Go! " * 3
print(cheer)
출력:
Go! Go! Go!
## Finding the length of a string
print(len(full_name))
출력:
8
## Accessing individual characters
print(full_name[0]) ## Get the first character
print(full_name[-1]) ## Get the last character
출력:
J
e
중요: Python은 0부터 숫자를 셉니다. 따라서 첫 번째 문자는 인덱스 0에 위치합니다. 인덱스 -1은 마지막 문자를 가리키는 편리한 단축키입니다.
Python의 문자열은 **불변(immutable)**입니다. 즉, 생성된 후에는 변경할 수 없습니다. 문자열 내의 특정 문자를 직접 바꿀 수는 없습니다. 하지만 기존 문자열을 사용하여 새로운 문자열을 만들 수는 있습니다.
message = "Hello World"
uppercase_message = message.upper()
print(uppercase_message)
출력:
HELLO WORLD
lowercase_message = message.lower()
print(lowercase_message)
출력:
hello world
.upper()와 .lower() 메서드는 새로운 문자열을 생성합니다. 원래의 message 변수는 변경되지 않습니다.
참인가 거짓인가? (불리언)
이번 단계에서는 True 또는 False 값만 가질 수 있는 불리언(boolean) 값에 대해 배웁니다. 이는 코드에서 결정을 내릴 때 필수적입니다.
불리언 변수를 만들어 보겠습니다. Python에서 True와 False는 대문자로 시작해야 한다는 점을 기억하세요.
is_learning = True
is_finished = False
print(f"Are we learning Python? {is_learning}")
type(is_learning)
출력:
Are we learning Python? True
<class 'bool'>
bool 데이터 타입은 불리언 값을 나타냅니다.
비교 연산자는 두 값을 비교하는 데 사용되며, 항상 불리언(True 또는 False) 결과를 반환합니다.
x = 5
y = 10
print(x < y) ## Is x less than y?
print(x == y) ## Is x equal to y?
print(x != y) ## Is x not equal to y?
출력:
True
False
True
일반적인 비교 연산자는 다음과 같습니다: == (같음), != (같지 않음), < (작음), > (큼), <= (작거나 같음), >= (크거나 같음).
문자열도 비교할 수 있습니다. Python은 알파벳 순서로 비교합니다.
name1 = "Alice"
name2 = "Bob"
print(name1 < name2) ## "Alice" comes before "Bob" alphabetically
출력:
True
불리언 연산자(and, or, not)는 불리언 표현식을 결합하는 데 사용됩니다.
a = True
b = False
print(a and b) ## True only if both a AND b are True
print(a or b) ## True if either a OR b (or both) are True
print(not a) ## The opposite of a
출력:
False
True
False
이 연산자들은 프로그램에서 더 복잡한 조건을 만드는 데 도움을 줍니다.
데이터 타입 간 변환
때로는 값을 한 데이터 타입에서 다른 타입으로 변환해야 할 때가 있습니다. 이를 타입 변환(type conversion) 또는 "캐스팅(casting)"이라고 합니다.
문자열을 숫자로 변환해 보겠습니다. 사용자로부터 입력을 받을 때 입력값은 항상 문자열로 읽히기 때문에 매우 자주 사용되는 작업입니다.
age_string = "25"
age_number = int(age_string) ## Convert string to integer
print(age_number + 5)
출력:
30
price_string = "1.99"
price_float = float(price_string) ## Convert string to float
print(price_float * 2)
출력:
3.98
int()를 사용하여 정수로 변환하고 float()를 사용하여 실수로 변환합니다. 주의하세요! 숫자로 보이지 않는 문자열(예: int("hello"))을 변환하려고 하면 Python은 오류를 발생시킵니다.
str() 함수를 사용하여 숫자를 문자열로 변환할 수도 있습니다.
count = 50
count_string = str(count)
print("The count is " + count_string)
출력:
The count is 50
마지막으로 bool()을 사용하여 값을 불리언으로 변환할 수 있습니다. 규칙은 간단합니다:
0, 빈 문자열(""), 그리고 일부 특수한 빈 객체는False입니다.- 그 외 거의 모든 것은
True입니다(0이 아닌 숫자, 비어 있지 않은 문자열 등).
print(bool(100)) ## Non-zero number
print(bool(0)) ## Zero
print(bool("Hello")) ## Non-empty string
print(bool("")) ## Empty string
출력:
True
False
True
False
타입 변환은 서로 다른 데이터 타입이 함께 작동하도록 만드는 강력한 도구입니다.
종합 실습
마지막 단계에서는 지금까지 배운 모든 것을 활용하여 작은 프로그램을 작성해 보겠습니다.
LabEx VM의 WebIDE 탭으로 전환하세요. WebIDE는 Python 스크립트를 작성하고 저장할 수 있는 온라인 코드 편집기입니다.

WebIDE 인터페이스에 대한 자세한 정보는 LabEx VM WebIDE 문서를 참조하세요.
다음 명령어를 사용하여 ~/project 디렉토리에 user_info.py라는 새 파일을 만듭니다:
touch ~/project/user_info.py
왼쪽 파일 탐색기에서 새 파일을 클릭하여 편집기에서 엽니다.
다음 코드를 복사하여 파일에 붙여넣으세요:
## A simple program to practice data types
## Get user input (input is always a string)
name = input("Enter your name: ")
age_str = input("Enter your age: ")
## Convert age to an integer
age = int(age_str)
## Perform a simple calculation
years_to_100 = 100 - age
is_adult = age >= 18
## Create an output message using an f-string
output = f"""
--- User Information ---
Hello, {name}!
You are {age} years old.
You will be 100 years old in {years_to_100} years.
Are you an adult? {is_adult}
--- End of Report ---
"""
## Print the final result
print(output)
이 스크립트는 input() 함수를 사용하여 이름과 나이를 묻습니다. input()은 항상 사용자의 입력을 문자열로 반환하므로, int()를 사용하여 나이를 숫자로 변환해야 합니다. 그 후 스크립트는 삼중 따옴표(""")를 사용하여 여러 줄에 걸친 f-string을 생성합니다. 이는 여러 줄의 텍스트를 형식화하는 깔끔한 방법입니다. 마지막으로 계산을 수행하고 형식화된 요약 정보를 출력합니다.
파일을 저장하고(자동 저장될 것입니다) 터미널에서 다음 명령어로 실행하세요:
python ~/project/user_info.py
프로그램이 이름과 나이를 물어볼 것입니다. 입력하면 요약 정보가 출력됩니다.
Enter your name: Alice
Enter your age: 25
--- User Information ---
Hello, Alice!
You are 25 years old.
You will be 100 years old in 75 years.
Are you an adult? True
--- End of Report ---

다양한 입력을 넣어 스크립트를 여러 번 실행해 보고 결과가 어떻게 바뀌는지 확인해 보세요!
요약
이번 실습을 완료하신 것을 축하합니다! Python 프로그래밍 세계로의 큰 첫걸음을 내디뎠습니다.
이번 실습에서 배운 Python의 기본 구성 요소는 다음과 같습니다:
- 숫자 타입: 정수(
int)와 실수(float)를 다루었습니다. - 문자열(
str): 텍스트를 생성하고 조작하는 방법을 배웠습니다. - 불리언(
bool):True와False값을 탐구하고 비교에 사용했습니다. - 연산자: 산술(
*), 비교(==,<), 불리언(and,or) 연산자를 사용했습니다. - 타입 변환: 문자열을 숫자로 바꾸는 등 서로 다른 데이터 타입 간의 변환을 연습했습니다.
이 개념들은 Python에서 수행할 모든 작업의 기초가 됩니다. 계속 연습하고 Python 인터프리터에서 자유롭게 실험해 보세요. 그것이 가장 좋은 학습 방법입니다. 수고하셨습니다. 즐거운 코딩 되세요!



