파이썬 기초 — print(), 변수, 식별자, 데이터 타입

발행: (2026년 6월 12일 AM 02:01 GMT+9)
6 분 소요
원문: Dev.to

출처: Dev.to

📌 핵심 개념

개념한 줄 정의
print()터미널에 데이터를 출력하는 내장 함수
Variable메모리 안에 값을 담는 이름이 붙은 컨테이너
Dynamic Typing파이썬이 런타임에 데이터 타입을 자동으로 판단
Identifier변수, 함수, 클래스 등에 붙이는 이름
Keyword파이썬 내부에서 예약된 단어 – 식별자로 사용할 수 없음
type()값의 데이터 타입을 알려주는 내장 함수
id()객체의 메모리 주소를 반환

print() — 기본 출력

print("Hello DevOps")
print(variable_name)
print(value, type(value))   # 값과 타입을 동시에 출력

변수 할당

port = 8080                  # int
service_name = "nginx"       # str
cpu_threshold = 85.5         # float

type() — 데이터 타입 확인

print(type(port))            # 

id() — 메모리 주소 확인

print(id(service_name))

키워드 리스트

import keyword
print(keyword.kwlist)

input() — 사용자 입력 받기

name = input("Enter your name: ")
print("Hello", name)

가장 기본적인 출력 함수입니다. DevOps 스크립트에서는 상태를 로그로 남기고, 값을 디버깅하며, 결과를 표시할 때 계속 사용하게 됩니다.

print("Deployment started")
print("Server IP:", server_ip)
print("Status:", status, "| Code:", code)   # 콤마로 여러 값을 출력

변수는 메모리 안의 값을 가리키는 라벨에 불과합니다. 설정값에 이름을 붙여 재사용할 수 있다고 생각하면 됩니다.

# BAD — 여기저기 하드코딩
# connect("192.168.1.10", 22)
# connect("192.168.1.10", 22)

# GOOD — 변수를 사용
server_ip = "192.168.1.10"
ssh_port = 22
connect(server_ip, ssh_port)

파이썬은 타입 선언을 요구하지 않습니다. 자동으로 타입을 감지하죠. 같은 변수에 서로 다른 타입을 할당할 수도 있습니다.

a = 10         # int
a = "hello"    # 이제 str — 파이썬은 괜찮아합니다
a = 3.14       # 이제 float

⚠️ 흔한 실수: 변수를 다른 타입으로 실수로 재할당하면 자동화 스크립트에서 버그가 발생할 수 있습니다.

형식예시DevOps 사용 사례
intport = 22포트 번호, 종료 코드
floatcpu = 85.5CPU/메모리 임계값
strenv = "prod"환경 이름, 서버 IP
boolis_healthy = True헬스 체크 플래그
port = 22              # int
threshold = 85.5       # float
environment = "prod"   # str
is_active = True       # bool

유효  ❌ 무효

server_ip         5server       (숫자로 시작)
_private          server-ip     (하이픈 = 뺄셈 연산자)
cpu2core          server ip     (공백 불가)
myVar             if            (예약어)
EC2Instance       print = 100   (내장 함수와 이름이 겹침 — 피하세요!)

DevOps 스크립트의 황금 규칙: snake_case(소문자와 언더스코어) 사용 — server_ip, max_retries, aws_region. 파이썬 관례와 일치하며 가독성이 좋습니다.

import keyword
print(keyword.kwlist)
# ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
#  'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
#  'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',
#  'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
#  'try', 'while', 'with', 'yield']

클래스에서 보여준 치명적인 실수

# ❌ 절대 이렇게 하지 마세요
print = 100         # print 함수를 죽였습니다!
print("Python")     # TypeError: 'int' object is not callable

# ✅ 커널을 재시작하거나 del 로 복구
del print
print("Python")     # 다시 동작합니다

절대 덮어쓰면 안 되는 내장 함수: print, input, list, dict, str, int, len, open, type, id

# AWS EC2 설정 변수
instance_type = "t2.micro"
region = "ap-south-1"          # 뭄바이
ami_id = "ami-0abcdef1234567890"
max_instances = 5
spot_price = 0.012             # float — USD 기준 가격

# Docker/K8s 설정
container_port = 8080
replica_count = 3
image_tag = "nginx:1.25"
is_rolling_update = True

# CI/CD 파이프라인 변수
build_status = "SUCCESS"
exit_code = 0                  # 0 = 리눅스/bash 성공
artifact_size_mb = 145.7

# 로그 라인 출력 (모든 스크립트에서 사용)
print(f"Deploying {image_tag} to {region} with {replica_count} replicas")
print(f"Build: {build_status} | Exit Code: {exit_code}")

실수 | 예시 | 해결 방법

실수예시해결 방법
함수 이름 오타prin("Python")철자를 확인 — 파이썬이 NameError를 발생시킵니다
내장 함수를 가리키게 함print = 100내장 함수 이름은 변수명으로 사용하지 마세요
키워드를 변수명으로 사용if = 5keyword.kwlist 로 확인
숫자로 시작하는 변수명5server = "aws"문자 또는 언더스코어로 시작
변수명에 공백 포함server ip = "x"`server
0 조회
Back to Blog

관련 글

더 보기 »