티스토리 뷰
목차
파이썬을 처음 시작하는 분들이라면 반드시 알아야 할 기본 문법들이 있습니다. 하지만 이 방대한 내용을 한 번에 정리하기란 여간 쉽지 않죠. 그래서 준비했습니다. 지금부터 핵심만 골라 쉽게 설명해드릴게요. 혹시 당신도 "파이썬 기초 문법, 아직도 헷갈리시나요?" 라는 말에 공감하신다면, 이 글을 끝까지 읽고 아래 버튼을 꼭 눌러보세요! 👇
파이썬 변수와 데이터 타입
파이썬 변수는 동적 타입 언어의 특성을 지니고 있어, 할당 시점의 값에 따라 데이터 타입이 결정됩니다. 같은 변수에 다른 타입의 값을 할당할 수 있습니다. 이런 점이 파이썬의 유연한 특징입니다.
cat = "bezzy"
print(cat) # 출력: bezzy
my_var = 123
print(type(my_var)) # <class 'int'>
연산자 정리 - 숫자와 논리 연산
기초 수학 연산은 기본이며, 논리 연산자도 중요합니다. 특히 `and`와 `or`의 Lazy Evaluation(지연 평가)은 파이썬의 중요한 특징입니다.
# 기본 연산
a = 10
a += 2 # a = 12
a //= 3 # a = 4
# 논리 연산
print(True and False) # False
print(1 or 0) # 1
print(not True) # False
비교 및 포함 연산
값의 비교 뿐 아니라, 특정 요소가 리스트나 문자열에 포함되어 있는지를 확인할 수 있습니다. `is`는 메모리 주소가 같은지 비교하고, `==`는 값이 같은지 비교합니다.
a = 3
b = 3
print(a == b) # True
print(a is b) # True (정수 캐싱 때문)
my_list = [1, 2, 3]
print(2 in my_list) # True
print(4 not in my_list) # True
조건문과 반복문
조건문과 반복문은 파이썬 프로그래밍의 핵심 구조입니다. 들여쓰기를 잘 지켜야 오류가 나지 않습니다. 간단한 리스트 순회나 조건에 따른 반복 처리를 할 수 있습니다.
# 조건문
if a > 0:
print("양수")
elif a == 0:
print("0입니다")
else:
print("음수")
# 반복문
for i in range(3):
print(i)
i = 0
while i < 3:
print(i)
i += 1
함수 정의와 인자 처리
파이썬 함수는 다양한 방식으로 인자를 받을 수 있으며, 기본값, 가변 인자, 키워드 인자를 조합할 수 있습니다. 이러한 구조를 통해 유연한 함수 구성이 가능합니다.
# 기본 함수
def greet(name):
print(f"Hello, {name}!")
# 기본값 인자
def greet(name="Python"):
print(f"Hello, {name}!")
# 가변 인자
def sum_all(*args):
return sum(args)
# 키워드 인자
def print_info(**kwargs):
for k, v in kwargs.items():
print(f"{k}: {v}")
함수 인자 전달 방식 이해
파이썬은 '할당에 의한 전달(Pass by Assignment)' 방식을 사용합니다. 가변 객체는 함수 내 변경이 외부에 영향을 미치므로 주의가 필요합니다.
# 불변 객체 전달
def change_number(n):
n = 100
print("내부:", n)
a = 10
change_number(a)
print("외부:", a) # 10
# 가변 객체 전달
def modify_list(lst):
lst.append(4)
my_list = [1, 2, 3]
modify_list(my_list)
print(my_list) # [1, 2, 3, 4]
표 : 파이썬 주요 문법 요약
| 구분 | 예시 | 설명 |
|---|---|---|
| 변수 선언 | cat = "bezzy" |
문자열 변수 할당 |
| 타입 확인 | type(cat) |
데이터 타입 확인 |
| 조건문 | if x > 0: |
조건 분기 처리 |
| 반복문 | for i in list: |
리스트 순회 |
| 함수 정의 | def greet(): |
기본 함수 선언 |
Q&A
Q1. 파이썬은 어떤 타입 시스템을 사용하는가요?
동적 타입(Dynamic Typing)과 강한 타입(Strong Typing)을 함께 사용하는 언어입니다.
Q2. `is`와 `==`의 차이는?
`==`는 값 비교, `is`는 객체의 동일성(주소 비교)입니다.
Q3. 리스트를 함수에 전달하면 값이 바뀌는 이유는?
리스트는 가변 객체이기 때문에 함수 내 변경이 외부에도 반영됩니다.
Q4. `*args`, `**kwargs`는 왜 쓰나요?
인자 수가 유동적인 함수를 만들 때 유용합니다.
Q5. 함수 디폴트 인자에 리스트를 쓰면 안 되는 이유는?
디폴트 인자는 한 번만 초기화되므로 값이 누적될 수 있습니다. None을 기본값으로 두고 함수 내에서 처리하세요.
파이썬 초보에서 실력자로 가는 첫걸음
이번 정리를 통해 파이썬의 기본기를 탄탄히 다졌다면, 이제는 직접 코딩을 해보며 익히는 단계입니다. 예제를 따라해보고, 실습을 통해 체득하세요. 기초가 탄탄하면 나중에 더 어려운 개념도 쉽게 다가옵니다.

