Data_10기

Python 기본 문법 - 리스트부터 함수까지

senu 2025. 11. 7. 21:11

리스트(List): 데이터를 담는 기본기

리스트는 파이썬에서 가장 자주 쓰이는 자료형이며, 대괄호 [ ] 로 만들고, 안에 여러 데이터를 쉼표로 구분해서 넣을 수 있다.

또한 리스트는 값을 추가·삭제·수정할 수 있는 가변형(mutable) 자료형이다.

my_list = [1, 2, 3, 4, 5]
my_list.append(6)  # [1, 2, 3, 4, 5, 6]
my_list.remove(3)  # [1, 2, 4, 5, 6]

 

인덱싱(my_list[0])과 슬라이싱(my_list[1:4])으로 원하는 값을 쉽게 꺼낼 수 있고, sort( )로 정렬하거나 reverse( )로 순서를 뒤집을 수도 있다. 이 기능만 잘 써도 데이터 정리에 굉장히 유용하다.

 

튜플(Tuple): 바뀌지 않는 리스트

튜플은 리스트와 비슷하지만 소괄소 ( ) 로 만들고, 한 번 만들면 값을 바꿀 수 없다. 즉, 불변형(immutable)이라서 데이터를 보호할 때 유용하다.

my_tuple = (1, 2, 3)
print(my_tuple[0])   # 1
# my_tuple[1] = 5 → 오류 발생!

 

 

리스트처럼 인덱싱이나 슬라이싱은 가능하지만 수정은 불가능하다. 필요하면 list( ) 함수로 리스트로 바꿔서 수정하고 다시 tuple( )로 바꿔줄 수 있다.

 

딕셔너리(Dictionary): 키와 값의 짝

딕셔너리는 '이름표가 붙은 데이터'라고 생각하면 쉽다. 중괄호 { } 를 쓰며, 각 항목은 'Key' : 'Value' 형태로 저장된다.

person = {'name': 'Alice', 'age': 25}
print(person['name'])  # Alice
person['city'] = 'Seoul'  # 새 키 추가

 

keys(), values(), items() 같은 메서드로 구조를 쉽게 탐색할 수 있고, 데이터를 ‘사전처럼’ 정리할 때 정말 많이 쓰인다.
예를 들어 제품 정보를 저장하거나 사용자 데이터를 관리할 때 유용하다.


조건문(If문)

조건문은 "만약 ~라면"을 표현한다. if, elif, else를 이용해 코드의 흐름을 제어한다.

x = 10
if x > 0:
    print("양수입니다.")
elif x == 0:
    print("0입니다.")
else:
    print("음수입니다.")

 

and, or, not 같은 논리 연산자로 여러 조건을 조합할 수도 있다. 데이터 분석에서도 조건문은 “특정 조건을 만족하는 데이터만 선택하기” 같은 작업에 필수다.

 

반복문(for, while)

1. for문

리스트나 문자열처럼 '순서가 있는 데이터'를 돌며 하나씩 처리할 때 쓴다.

fruits = ["apple", "banana", "cherry"]
for f in fruits:
    print(f)

 

range()를 활용하면 숫자 반복도 가능하고, 조건문과 함께 쓰면 짝수만 출력, 특정 값만 걸러내기 같은 응용이 가능하다.

 

2. while문

조건이 참일 동안 계속 반복된다.

i = 1
while i <= 5:
    print(i)
    i += 1

 

무한루프에 빠지지 않도록 break나 continue를 적절히 활용하는 것이 중요하다.


함수(Function)

함수는 "자주 쓰는 코드를 하나로 묶는 도구"이다. def 로 정의하고, 필요하면 return 으로 결과를 반환한다.

def greet(name):
    return "Hello, " + name + "!"

print(greet("Alice"))

 

※ 기본 개념 정리

  • 매개변수(parameter): 함수 정의 시 입력값 이름
  • 인수(argument): 함수 호출 시 실제 전달되는 값
  • 전역변수 vs 지역변수: 함수 밖에서 만든 변수는 전역, 함수 안은 지역
  • 기본값 설정: def greet(name="Guest") 처럼 미리 값 지정 가능
  • 가변 인수: *args, **kwargs 로 여러 개의 값을 받을 수 있음

마무리

아는 것을 활용해 원하는 결과를 얻어내는 능력이 코딩 실력을 좌우한다고 한다. 그래서 단순히 코드를 외우는데 시간을 들이기 보다는 내가 만들고 싶은 결과를 떠올리고 그걸 구현하기 위한 과정을 스스로 설계하는 연습을 많이 해야되겠다는 생각이 들었다. 앞으로는 배운 내용을 꾸준히 복습하면서 문법 하나하나의 쓰임을 몸에 익히고, 문제를 해결하기 위한 컴퓨터적 사고와 효율적인 알고리즘을 고민하는 습관을 들일 수 있도록 노력해야겠다.