멋쟁이사자처럼 그로스마케팅 부트캠프 2기 회고

[멋쟁이사자처럼 부트캠프 그로스마케팅 2기] DAY3_ Python 데이터 구조, 함수와 클래스, 모듈

kknag-it 2025. 5. 7. 21:21
  • Python 데이터 구조
  • Python 함수와 클래스, 모듈

1. 리스트 (List)

: 순서가 있는 변경 가능한 데이터 구조, [] 대괄호 사용

# 리스트 생성
colors = ["red", "yellow", "blue", "pink"]

# 리스트 요소 접근 (인덱스 사용)
print(colors[0]) # red 출력
print(colors[-1]) # pink 출력 (음수 인덱스는 뒤에서부터 접근)

# 리스트 요소 변경
colors[1] = "green"
print(colors) # ['red', 'green', 'blue', 'pink'] 출력됨

# 리스트 새로운 요소 추가
colors.append("orange")
print(colors) # ['red', 'green', 'blue', 'pink', 'orange'] 출력됨

 

리스트 삭제

# 특정 요소 삭제
del color[2]
print(color) # ['red', 'green', 'pink', 'orange'] 출력

# 리스트 전체 삭제
color.clear()

 

리스트 반복문 활용

colors = ["red", "blue", "green", "yellow"]

# 리스트 각 요소 출력
for color in colors: # colors라는 리스트 범위에서 color(반복변수)에 실행시켜라
	print(f"색깔: {color}") 
    # 색깔: red
	# 색깔: blue
	# 색깔: green
	# 색깔: yellow

파이썬을 해봤다면 아는 for i in range 구문 뭔가 알듯하면서도 모르고 (가까웠다 멀어졌다를 반복)

리스트 반복문도 똑같이 적용 시키면 colors 리스트를 범위로 잡고 순서대로 color에 대입하면 #에 나온 것처럼 출력됨!

 

리스트 슬라이싱

# 리스트 일부 가져오기
print(colors[1:3]) # ['blue', 'green']

여기서 헷갈릴 수도 있는 것이 colors[1:3]이라고 해서 1,2,3을 가져오는 것이 아닌 1부터 3이전까지의 요소 가져오기라

사실상 1,2['blue', 'green'] 을가져옴

 

 

2. 튜플(Tuple)

: 순서가 있지만 변경할 수 없는 데이터 구조, ()소괄호 사용

# 튜플 생성
name = ( "jini", "jane", "sara", "mark")

# 요소 접근
print(name[0]) #jini 출력

※ 튜플은 한 번 생성되면 수정 불가!

 

 

 

3. 딕셔너리(Dictionary)

: 키(Key)와 값(value) 쌍으로 이뤄진 데이터 구조 {} 중괄호 사용

# 딕셔너리 생성
student = {
    "2학년":{"전공": 50, "비전공": 30},
    "3학년":{"전공": 80, "비전공": 50},
    "4학년":{"전공": 90, "비전공": 40}
}

# 특정 키 값 조회
print(student["2학년"])

# 3학년의 전공 점수를 출력하고 싶다면!
print(student["3학년"]["전공"])

# 데이터 추가
student["1학년"]={"전공":70,"비전공":90}

# 데이터 수정
student["4학년"]["비전공"] = 60
print(student["4학년"]["비전공"])

 

(딕셔너리 생성이 이해가 안가는 분은 이 밑의 표와 첫번째 딕셔너리 생성을 보면 됩니당)

2학년 3학년 4학년
전공 비전공 전공 비전공 전공 비전공
50 30 80 50 90 40

 

집합(Set)

# 집합 생성
active_users = {"user1", "user2", "user3"}
new_users = {"user2", "user3", "user4", "user5"}

# 합집합 (Union) |(or)
all_users = active_users | new_users  # {'user1', 'user2', 'user3', 'user4', 'user5'}
print(all_users)
# {'user3', 'user1', 'user2', 'user5', 'user4'}

# 교집합 (Intersection) &(and)
common_users = active_users & new_users  # {'user2', 'user3'}
print(common_users)
# {'user2', 'user3'}

 

주요 특징

- 중복 요소 제거

- 순서 없어 인덱스로 접근 불가

- 빠른 검색 및 연산 지원

 

 

반복문 (Loops)

  • for 반복문
  • while 반복문

for 반복문

  for 변수 in 시퀀스:

        실행할 코드

 

for i in range(4):
	print(i)
    # 0
    # 1
    # 2
    # 3

 

반복문 제어

break 반복문을 즉시 종료
continue 반복문의 나머지 부분을 건너뛰고 다음 반복문을 진행
else 반복문이 정상적으로 종료된 후에 실행되는 코드 블록
# break
for i in range(10):
	if i == 5:
		break # i가 5일때 멈추기
    print(i)
    
# continue
for i in range(10):
	if i % 2 == 0: 
		continue # i가 짝수일땐 건너뒤기
    print(i)
    
# else
for i in range(5):
	print(i)
else:
    print("반복이 끝났습니다.")

 

함수 (Functions)

: 특정 작업을 수행하는 코드 블록

 

def 함수이름(매개변수1, 매개변수2, ...)

      실행할 코드

      return 반환값

 

# 함수 (두 숫자의 합)
def add(a, b):
    return a + b

result = add(2, 3)
print(result)  # 출력: 5

 

람다 함수

- 익명 함수로 한 줄로 간단히 표현할 수 있는 함수

add = lambda x, y: x + y
print(add(2, 3))  # 출력: 5

 

 

모듈

: 파이썬 파일(.py)은 모듈로 간주

# my_class.py로 파일 저장

class MyClass:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print(f"Hello, {self.name}!")
        
        
# main.py

from my_class import MyClass   # from 파일이름(모듈) inport 파일이름의 파일속 클래스이름

# 인스턴스 생성 및 메서드 호출
obj = MyClass("Sumi")
obj.greet()  # 출력: Hello, Sumi!

 

my_class.py로 저장한 파일을 구글 코랩의 왼쪽 부분 맨 밑을 클릭하고 불러오기!

이 부분이 조금 어려울수도 있는데 한번만 이해하면 괜찮았다.

(앱 다운받고 혼자 버벅였던..) 강사님의 추천 중 Sublime Text를 사용해 위에 파이썬 파일을 저장하면 편하다고 함!

 

 

# [멋사 그로스마케팅 부트캠프 DAY3] 후기 & 회고

초반에는 따라가며 코딩하는게 재밌었다가도 반복문 예제랑 함수에서 어려움을 느꼈다. 오늘도 코드를 엄청 본거 같다랄까..

복습하면서 이해한 개념들도 있지만 여전히 이해가 되지 않는 부분도 많아 걱정이지만 강사님이 말하시길 아직 3일차라고 파이썬 공부한지는 이틀차니 기 죽지 말고 열심히 해봐야겠다. 연휴 끝나고 하는 수업이라 그런가 집중하는 것도 조금 어려웠고 공부할 것도 어려워 쓰러집니당.. 다들 화이팅 해봅시당 나 자신도 화이팅!,!