본문 바로가기
-----ETC2-----/Python

[Python] Week 8: 튜플

by cogito21_python 2024. 6. 1.
반응형

Day 1: 튜플의 기본 개념

  • 강의 내용:
    • 튜플의 개념
      • 튜플의 정의와 특징
      • 리스트와 튜플의 차이점
    • 튜플의 기본 사용법
      • 튜플 생성 및 초기화
      • 튜플 요소 접근 및 확인
  • 실습:
    • 튜플 생성 및 요소 접근
# 튜플 생성 및 초기화
fruits = ("apple", "banana", "cherry")
numbers = (1, 2, 3, 4, 5)

# 튜플 요소 접근 및 확인
print(fruits[0])  # 'apple'
print(numbers[2]) # 3

 

Day 2: 튜플의 불변성

  • 강의 내용:
    • 튜플의 불변성
      • 튜플의 불변성 개념
      • 불변성으로 인한 장단점
    • 튜플의 불변성 예제
  • 실습:
    • 튜플 요소 변경 시도 및 오류 확인
# 튜플의 불변성
fruits = ("apple", "banana", "cherry")

try:
    fruits[1] = "blueberry"
except TypeError as e:
    print(e)  # 'tuple' object does not support item assignment

 

Day 3: 튜플의 언패킹

  • 강의 내용:
    • 튜플 언패킹
      • 튜플 언패킹의 개념과 사용법
      • 여러 변수에 튜플 값 할당
    • 튜플 언패킹의 활용
  • 실습:
    • 튜플 언패킹 예제 작성
# 튜플 언패킹
person = ("John", 25, "Engineer")

name, age, profession = person

print(name)       # 'John'
print(age)        # 25
print(profession) # 'Engineer'

 

Day 4: 튜플 메서드

  • 강의 내용:
    • 튜플 메서드
      • count(): 특정 요소의 개수 세기
      • index(): 특정 요소의 인덱스 반환
    • 튜플 메서드 사용 예제
  • 실습:
    • 튜플 메서드를 사용한 예제 작성
# 튜플 메서드
numbers = (1, 2, 2, 3, 4, 2, 5)

count_of_twos = numbers.count(2)
print(count_of_twos)  # 3

index_of_four = numbers.index(4)
print(index_of_four)  # 4

 

Day 5: 튜플과 함수

  • 강의 내용:
    • 튜플을 반환하는 함수
      • 함수에서 여러 값을 반환할 때 튜플 사용
    • 튜플을 매개변수로 사용하는 함수
      • 함수 매개변수로 튜플 전달
  • 실습:
    • 튜플을 반환하는 함수 작성
    • 튜플을 매개변수로 사용하는 함수 작성
# 튜플을 반환하는 함수
def get_full_name():
    first_name = "John"
    last_name = "Doe"
    return first_name, last_name

full_name = get_full_name()
print(full_name)  # ('John', 'Doe')

# 튜플을 매개변수로 사용하는 함수
def print_coordinates(coordinates):
    x, y = coordinates
    print(f"x: {x}, y: {y}")

point = (10, 20)
print_coordinates(point)  # 'x: 10, y: 20'

 

Day 6: 네임드 튜플

  • 강의 내용:
    • 네임드 튜플의 개념
      • 네임드 튜플의 정의와 사용법
      • collections.namedtuple 모듈 사용
    • 네임드 튜플의 장점
      • 코드 가독성 향상
      • 튜플의 장점과 딕셔너리의 장점 결합
  • 실습:
    • 네임드 튜플 정의 및 사용 예제 작성
from collections import namedtuple

# 네임드 튜플 정의
Point = namedtuple("Point", ["x", "y"])

# 네임드 튜플 사용
p1 = Point(10, 20)
print(p1)       # Point(x=10, y=20)
print(p1.x)     # 10
print(p1.y)     # 20

 

Day 7: 튜플 종합 연습 및 프로젝트

  • 강의 내용:
    • 튜플 종합 연습 문제 풀이
      • 다양한 튜플 작성 및 조작 문제
      • Q&A 세션
    • 미니 프로젝트
      • 주제 선정 및 프로그램 설계
      • 튜플을 활용한 프로그램 구현 및 테스트
  • 실습:
    • 종합 연습 문제 풀기
    • 미니 프로젝트 작성 및 발표
# 연습 문제 1: 두 개의 튜플을 받아 요소를 합치는 함수 작성
def add_tuples(t1, t2):
    return tuple(a + b for a, b in zip(t1, t2))

t1 = (1, 2, 3)
t2 = (4, 5, 6)
print(add_tuples(t1, t2))  # (5, 7, 9)

# 연습 문제 2: 튜플의 요소를 역순으로 반환하는 함수 작성
def reverse_tuple(t):
    return t[::-1]

print(reverse_tuple((1, 2, 3, 4, 5)))  # (5, 4, 3, 2, 1)

# 연습 문제 3: 튜플을 받아 가장 큰 값과 가장 작은 값을 반환하는 함수 작성
def min_max(t):
    return min(t), max(t)

print(min_max((1, 2, 3, 4, 5)))  # (1, 5)

# 미니 프로젝트 예제: 좌표 변환 프로그램
from collections import namedtuple

Coordinate = namedtuple("Coordinate", ["x", "y"])

def translate(coord, dx, dy):
    return Coordinate(coord.x + dx, coord.y + dy)

origin = Coordinate(0, 0)
new_coord = translate(origin, 5, 7)
print(new_coord)  # Coordinate(x=5, y=7)

 

이 강의는 파이썬의 튜플을 익히는 것을 목표로 하며, 각 강의는 이론과 실습을 포함합니다. 다음 주차에 대한 상세 강의를 원하시면 말씀해 주세요!

반응형

'-----ETC2----- > Python' 카테고리의 다른 글

[Python] Week 10: 집합  (0) 2024.06.01
[Python] Week 9: 딕셔너리  (0) 2024.06.01
[Python] Week 7: 리스트  (0) 2024.06.01
[Python] Week 6: 고급 함수  (0) 2024.06.01
[Python] Week 5: 함수 정의 및 호출  (0) 2024.06.01