Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Archives
Today
Total
관리 메뉴

memo6759 님의 블로그

2025-09-16(python 기본) 본문

HDC 학습일지

2025-09-16(python 기본)

heewon09 2025. 9. 17. 09:21

파이썬 기본 문법 정리

print("test")
print("hello\npython")  # \n은 줄바꿈 문자
test
hello
python

변수 선언과 출력
파이썬은 변수를 선언할 때 데이터 타입을 저장하지 않아도 됨(자동으로 자료형이 결정됨)

name = "bts"
age = 30
addr = "서울"
grade = 4.5

print("성명 : ", name)
print("나이 : ", age)
print("주소 : ", addr)
print("등급 : ", grade)

출력결과

성명 :  bts
나이 :  30
주소 :  서울
등급 :  4.5

한 줄 주석 & 여러 변수 한 번에 할당

# 한 줄 주석문 (코드 설명을 작성할 때 사용)
id, num2, num3 = "bts", 100, 200  # 한 번에 여러 변수에 값 할당

print("id : ", id)
print("num2 : ", num2)
print("num3 : ", num3)

출력 결과 :

# 한 줄 주석문 (코드 설명을 작성할 때 사용)
id, num2, num3 = "bts", 100, 200  # 한 번에 여러 변수에 값 할당

print("id : ", id)
print("num2 : ", num2)
print("num3 : ", num3)

자료형 확인하기

print(type(name))   # <class 'str'> (문자열)
print(type(age))    # <class 'int'> (정수)
print(type(grade))  # <class 'float'> (실수)

여러 줄 출력하기

print('''
      안녕
      지금은
      파이썬 연습중
      '''
)

불리언(Boolean)

print(False)

출력 결과:
False

파이싼 bool 데이터 타입정리

변수와 데이터 타입 확인

파이썬은 변수를 생성할 때 데이터 타입을 미리 지정하지 않음
값을 할당하면 그때 자동으로 타입이 결정됨 → 동적 타이핑

num1 = 1000
num2 = 4.5
str = "문자열"

print(type(num1))  # <class 'int'>   → 정수
print(type(num2))  # <class 'float'> → 실수
print(type(str))   # <class 'str'>   → 문자열

bool() 함수

bool(값) → 값을 불리언(True/False)으로 변환

print("######################## True ###################")
# "값이 있는" 상태는 대부분 True
print(bool(1==1))    # True (1==1 이므로 참)
print(bool(1))       # True (0이 아닌 숫자 → 참)
print(bool(-1))      # True (음수도 0이 아니면 참)
print(bool(10.5))    # True (실수도 0.0이 아니면 참)
print(bool("test"))  # True (문자열이 비어있지 않으면 참)
print(bool([10,20])) # True (리스트에 값이 있으면 참)

print("######################## False ###################")
# "값이 비어있는" 상태는 대부분 False
print(bool(0.0))   # False
print(bool(0))     # False
print(bool([]))    # False (빈 리스트)
print(bool(None))  # False (값 없음)
print(bool({}))    # False (빈 딕셔너리)
print(bool(()))    # False (빈 튜플)

📌 정리 (참/거짓 판별 기준)

데이터bool() 결과

 

0, 0.0 ❌ False
빈 문자열 "" ❌ False
빈 리스트 [] ❌ False
빈 튜플 () ❌ False
빈 딕셔너리 {} ❌ False
None ❌ False
그 외 값이 있는 모든 경우 ✅ True

파이썬 문자열 포맷팅 (String Formatting)

파이썬에서 문자열 안에 변수를 넣어 출력할 때 문자열 포맷팅을 사용합니다.
대표적으로 str.format() 방식과 f-string 방식이 있습니다.

str.format() 방식

{} → 값을 넣을 자리
format() → 실제 넣을 값을 전달

# 기본 사용: 순서대로 채워짐
print("{}, {}, {}".format(100, 200, 300))  
# → 100, 200, 300

# 인덱스 지정: 순서를 바꿔 출력 가능
print("{0}, {2}, {1}".format(100, 200, 300))  
# → 100, 300, 200

f-string (Python 3.6+)

f-string은 f"문자열 {변수}" 형태로 사용하며 가장 많이 쓰이는 방식입니다.
가독성이 좋고 간단해서 최신 코드에서는 f-string을 권장합니다.

name = "방탄소년단"
age = 30
grade = 4.5

# 변수 직접 출력
print(f"name= {name}")  # name= 방탄소년단

# {변수=} 문법 : 변수명=값 형태로 출력
print(f"{age=}")  # age=30

f-string의 장점

✅ 직관적 → 코드가 짧아짐
✅ 변수와 문자열 결합이 깔끔함
✅ 계산식, 함수 호출도 바로 가능

x, y = 10, 20
print(f"{x} + {y} = {x+y}")  
# → 10 + 20 = 30

📊 정리

방식예제출력
format() 기본 "{} {}".format(10, 20) 10 20
format() 인덱스 지정 "{1} {0}".format(10, 20) 20 10
f-string f"{x} + {y} = {x+y}" 10 + 20 = 30
f-string {변수=} f"{x=}" x=10

 

파이썬 표준 입출력 정리

파이썬에서 표준 입력은 input()
표준 출력은 print() 를 이용합니다.
 

표준 입력 (input())

input()으로 입력받은 값은 문자열(str) 이므로, 숫자로 쓰려면 int() 변환이 필요합니다.

# 사용자에게 입력받기
num1 = int(input("숫자1 : "))
num2 = int(input("숫자2 : "))

# 덧셈 결과 출력
result = num1 + num2
print("result =", result)

출력 예시 (사용자가 입력한 값 기준):

숫자1 : 10
숫자2 : 20
result = 30
10 20
10 20
10, 20

한 줄에 여러 값 출력 (end 매개변수)

print()의 기본 동작은 출력 후 줄바꿈(\n)을 추가하지만,
end 매개변수로 줄바꿈 대신 다른 문자열을 넣을 수 있습니다.

print(num1, end=" ")   # 줄바꿈 대신 공백 추가
print(num2, end=" ")   # 줄바꿈 대신 공백 추가
print(result)          # 마지막만 기본 줄바꿈
10 20 30

정리 (print 매개변수)

매개변수설명예제출력
sep 값 사이 구분 문자 print(1, 2, 3, sep="-") 1-2-3
end 출력 후 이어 붙일 문자 print("Hello", end=" ") Hello (줄바꿈 안 됨)

 

파이썬 표준 모듈 & random 모듈

📌 표준 모듈이란?

  • 표준 모듈(Standard Module) = 파이썬 설치 시 자동으로 포함되는 라이브러리
  • 모듈(Module) = .py 파일로 묶어둔 코드 집합
  • import 모듈명 → 해당 모듈을 불러와서 사용 가능
  • 불러온 모듈은 변수처럼 접근 가능 (ex. random.함수())

 
help() 내장 함수

help("modules")
  • 설치된 표준 모듈과 서드파티 모듈 목록을 확인 가능
  • (실행 시 콘솔에 길게 리스트 출력됨)

random 모듈

랜덤(난수) 관련 기능을 제공하는 표준 모듈

import random

# 1 ~ 6 사이의 난수 (끝값 미포함)
num1 = random.randrange(1, 7)  # 1~6
print(num1)

# 1 ~ 6 사이의 난수 (끝값 포함)
print(random.randint(1, 6))    # 1~6

# 1 ~ 10 사이에서 홀수만 뽑기 (step=2)
print(random.randrange(1, 11, 2))  # 1,3,5,7,9 중 하나

random 주요 함수 정리

함수설명예시
random.random() 0.0 이상 1.0 미만 난수 (실수) 0.123456789
random.randint(a, b) a ~ b 포함 정수 난수 random.randint(1, 6) → 1~6
random.randrange(start, stop[, step]) start ~ stop-1 (step 간격) 정수 난수 random.randrange(1, 11, 2)
random.choice(seq) 시퀀스(리스트 등)에서 랜덤 요소 random.choice(['A','B','C'])
random.shuffle(seq) 시퀀스 요소 순서를 무작위로 섞음 random.shuffle(list)
random.sample(population, k) 모집단에서 k개 요소 뽑기 (중복 X) random.sample(range(1,46), 6)

파이썬 연산자 정리

📌 1. 산술 연산자

 

num1 = 100
num2 = 3

print("num1 + num2 = ", (num1 + num2))  # 덧셈
print("num1 - num2 = ", (num1 - num2))  # 뺄셈
print("num1 * num2 = ", (num1 * num2))  # 곱셈
print("num1 / num2 = ", (num1 / num2))  # 나눗셈 (결과 → float)
print("num1 % num2 = ", (num1 % num2))  # 나머지
print("num1 // num2 = ", (num1 // num2))# 몫 (소수점 제거)
print("num1 ** num2 = ", (num1 ** num2))# 제곱 (거듭제곱)
num1 + num2 =  103
num1 - num2 =  97
num1 * num2 =  300
num1 / num2 =  33.333333333333336
num1 % num2 =  1
num1 // num2 =  33
num1 ** num2 =  1000000

2. 비교 연산자

값을 비교한 결과를 True / False 로 반환합니다.

print("num1 > num2 = ", (num1 > num2))    # 크다
print("num1 >= num2 = ", (num1 >= num2))  # 크거나 같다
print("num1 < num2 = ", (num1 < num2))    # 작다
print("num1 <= num2 = ", (num1 <= num2))  # 작거나 같다
print("num1 == num2 = ", (num1 == num2))  # 같다
print("num1 != num2 = ", (num1 != num2))  # 다르다
num1 > num2 =  True
num1 >= num2 =  True
num1 < num2 =  False
num1 <= num2 =  False
num1 == num2 =  False
num1 != num2 =  True

논리 연산자 (and, or, not)

여러 조건을 묶어서 참/거짓 판별

# and 연산: 두 조건이 모두 참일 때만 True
if num1 >= 90 and num2 > 90:
    print("통과")
else:
    print("다시 작업")

# or 연산: 하나라도 참이면 True
if num1 >= 90 or num2 > 90:
    print("통과")
else:
    print("다시 작업")

다시작업
통과

정리 표

연산자설명예시결과
+ 덧셈 5 + 2 7
- 뺄셈 5 - 2 3
* 곱셈 5 * 2 10
/ 나눗셈 5 / 2 2.5
// 5 // 2 2
% 나머지 5 % 2 1
** 제곱 5 ** 2 25
비교 연산자의미예시결과
> 크다 5 > 3 True
< 작다 5 < 3 False
>= 크거나 같다 5 >= 5 True
<= 작거나 같다 3 <= 5 True
== 같다 5 == 5 True
!= 다르다 5 != 3 True

 

Python print 출력 포맷 정리

Python에서 print() 함수는 출력 포맷 지정자(format specifier) 를 사용하여 다양한 형태로 데이터를 출력할 수 있습니다.
주로 C언어 스타일의 % 포맷팅을 사용할 수 있는데, 대표적으로 아래와 같은 기호들이 있습니다

1. 출력 포맷 지정자

  • %d : 정수(10진수)
  • %f : 실수 (기본 소수점 6자리까지 출력)
  • %c : 한 글자 출력
  • %s : 문자열 출력 (두 글자 이상도 가능)

2. 이스케이프 문자

  • \n : 줄바꿈 (newline)
  • \t : 탭(tab)
  • \\ : 역슬래시 출력
  • \" : 큰따옴표 출력
  • \' : 작은따옴표 출력
# "%d / %d = %d"는 출력 포맷
# % 뒤에 오는 값들을 순서대로 대입
print("%d / %d = %d" % (100, 200, 0.5))  
# 결과: 100 / 200 = 0  → %d는 정수 출력이므로 소수점 이하 버림

# %f : 실수 출력 (기본 소수점 6자리)
print("%d / %d = %f" % (100, 200, 0.5))  
# 결과: 100 / 200 = 0.500000

# %5.1f : 전체 자리수 5칸, 소수점 1자리 출력
print("%d / %d = %5.1f" % (100, 200, 0.5))  
# 결과: 100 / 200 =   0.5   (앞에 공백 포함)

# 여러 개 조합 가능
print("%d / %d = %5.1f (%10s)" % (100, 200, 0.5, "test"))  
# 결과: 100 / 200 =   0.5 (      test)

4. 정리

  • %d, %f, %s 등을 이용해 다양한 데이터 형식을 맞춰 출력할 수 있다.
  • %숫자.소수자리f 형태로 자리수소수점 자릿수를 조절 가능하다.
  • \n, \t 같은 이스케이프 문자를 이용하면 출력 형태를 더 깔끔하게 만들 수 있다.