memo6759 님의 블로그
2025-09-16(python 기본) 본문
파이썬 기본 문법 정리
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 (빈 튜플)📌 정리 (참/거짓 판별 기준)
| 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, 200f-string (Python 3.6+)
f-string은 f"문자열 {변수}" 형태로 사용하며 가장 많이 쓰이는 방식입니다.
가독성이 좋고 간단해서 최신 코드에서는 f-string을 권장합니다.
name = "방탄소년단"
age = 30
grade = 4.5
# 변수 직접 출력
print(f"name= {name}") # name= 방탄소년단
# {변수=} 문법 : 변수명=값 형태로 출력
print(f"{age=}") # age=30f-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 = 10000002. 비교 연산자
값을 비교한 결과를 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 같은 이스케이프 문자를 이용하면 출력 형태를 더 깔끔하게 만들 수 있다.
'HDC 학습일지' 카테고리의 다른 글
| 2025-09-17(내장 함수 (0) | 2025.09.18 |
|---|---|
| 2025-09-17(컴프리헨션, 내장 함수,리스트, 튜플, 딕셔너리)-1 (0) | 2025.09.17 |
| 2025-09-15(제네릭, 파이썬 설치 환경 및 VisualStudioCode) (0) | 2025.09.16 |
| HDC 랩스 : 2025-09-08(생성자, static 변수) (0) | 2025.09.08 |
| HDC 랩스 : 2025-09-05 (0) | 2025.09.08 |