🐍 파이썬 기초 문법 완전 정리 📘
🔸 6. 튜플 (Tuple)
리스트처럼 여러 값을 담지만, 수정이 불가능한(immutable) 자료형입니다.
데이터를 보호하거나, 변하지 않는 값을 다룰 때 사용합니다.
t = (1, 2, 3)
print(t[0]) # 1
# t[0] = 4 ❌ 오류 발생 (수정 불가)
구분설명예시
| 생성 | 소괄호 () 사용 | t = (1, 2, 3) |
| 접근 | 인덱스로 접근 | t[1] → 2 |
| 수정 불가 | 변경, 추가, 삭제 모두 불가 | ❌ |
| 활용 예 | 좌표, 설정값 등 | location = (37.5, 126.9) |
🔸 7. 딕셔너리 (Dictionary)
Key: Value 쌍으로 데이터를 관리합니다.
“이름표가 붙은 리스트”로 생각하면 이해가 쉽습니다.
person = {"name": "허니피치", "age": 25}
print(person["name"]) # 허니피치
person["age"] = 26
메서드설명예시
| keys() | 모든 키 반환 | person.keys() |
| values() | 모든 값 반환 | person.values() |
| items() | (key, value) 쌍 반환 | for k, v in person.items(): |
| get(key) | 안전하게 값 접근 | person.get("job", "없음") |
🔸 8. 함수 (Function)
반복되는 코드를 묶어 재사용성과 가독성을 높입니다.
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
구분설명예시
| 정의 | def 함수명(매개변수): | def greet(name): |
| 반환값 | return으로 결과 돌려줌 | return a + b |
| 기본값 | 매개변수에 기본 설정 | def say(msg="안녕"): |
| 여러 값 반환 | 튜플로 여러 값 반환 | return x, y |
🔸 9. 클래스 (Class)
현실 세계의 사물을 객체로 표현한 설계도입니다.
속성과 기능(메서드)을 묶어 관리합니다.
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(f"{self.name}이(가) 멍멍 짖습니다!")
dog1 = Dog("피치")
dog1.bark()
용어설명예시
| 클래스 | 설계도 | class Dog: |
| 객체 | 실제 인스턴스 | dog1 = Dog() |
| 생성자 | __init__()로 속성 초기화 | self.name = name |
| 메서드 | 클래스 내부 함수 | def bark(self): |
🔸 10. 파일 입출력 (File I/O)
데이터를 파일로 저장하거나 불러올 때 사용합니다.
# 쓰기
with open("data.txt", "w", encoding="utf-8") as f:
f.write("Hello Python!")
# 읽기
with open("data.txt", "r", encoding="utf-8") as f:
print(f.read())
모드설명
| "r" | 읽기 전용 |
| "w" | 새로 쓰기 (덮어씀) |
| "a" | 이어 쓰기 |
| "rb"/"wb" | 바이너리 파일 (이미지, 영상 등) |
🔸 11. 예외 처리 (Try - Except)
코드 실행 중 오류가 나더라도 프로그램이 멈추지 않게 도와줍니다.
try:
num = int(input("숫자 입력: "))
print(10 / num)
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
except ValueError:
print("숫자만 입력해주세요.")
finally:
print("프로그램 종료")
구문설명
| try | 오류가 발생할 수 있는 코드 |
| except | 오류 발생 시 실행 |
| finally | 항상 실행되는 코드 |
| raise | 일부러 오류 발생시킴 |
🔸 12. 모듈과 패키지 (Module & Package)
다른 파일에서 함수나 클래스를 불러와 사용하는 방법입니다.
import math
print(math.sqrt(16)) # 4.0
구분설명예시
| 모듈 | .py 파일 하나 | import math |
| 함수 사용 | 모듈명.함수() | math.pi |
| 직접 만들기 | mymodule.py 생성 → import mymodule | |
| 패키지 | 여러 모듈을 모은 폴더 | import package.module |
🧾 전체 요약 한눈에 보기
단계주제핵심 키워드
| 1 | 출력/입력 | print, input |
| 2 | 변수/자료형 | int, str, bool |
| 3 | 조건문 | if, elif, else |
| 4 | 반복문 | for, while, break |
| 5 | 리스트 | append, remove, len |
| 6 | 튜플 | 수정 불가, () |
| 7 | 딕셔너리 | key:value, items() |
| 8 | 함수 | def, return |
| 9 | 클래스 | __init__, self |
| 10 | 파일입출력 | open(), with |
| 11 | 예외처리 | try-except |
| 12 | 모듈 | import, math |
학습한 while문을 claude.ai 활용하여 만든 단어장이다.

활용한 코드는 다음과 같다. (python)
# 4. 단어를 추가하기 위한 리스트가 필요
words = []
# 3. 빈 문자열에 대한 예외 처리 (잘못 입력된 문자열)
while True: # 조건이 만족할 때는 계속 실행해라!
word = input("단어를 입력하세요 (종료 : exit를 입력하세요)")
if word == "exit":
break # exit를 입력 받으면 종료해라!
elif word == '':
print("공백은 입력할 수 없습니다.")
# 4. 위의 조건에 부합하면 -> 그대로 단어를 저장하는 (리스트에) 구분이 필요
# append를 사용해서 단어를 추가
else:
words.append(word) # 내부에서 작동
print(f"{word}가 추가되었습니다.") # 고객에게 표현728x90
'개발 > AI&Chatbot' 카테고리의 다른 글
| 예제를 활용한 복습(변수/조건문/반복문/리스트/함수) (0) | 2025.10.16 |
|---|---|
| Day04. 모듈 / NumPy / Pandas (0) | 2025.10.16 |
| ⛔️ [SyntaxError] 개념, 예시, 해결방법 (0) | 2025.10.15 |
| Day03. api 연동(뉴스, 명언) / class (1) | 2025.10.15 |
| Day01. 파이썬 기초 - 변수, f-string, 조건문, 반복문 (0) | 2025.10.13 |