"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python 사전이 코드를 깔끔하고 건조하게 유지하는 방법

Python 사전이 코드를 깔끔하고 건조하게 유지하는 방법

2024-11-06에 게시됨
검색:459

How Python Dictionaries Keep Your Code Clean and DRY

Python 사전과 DRY 원리: 초보자를 위한 빠른 가이드

안녕하세요! ? Python 프로그래밍에 뛰어들고 있다면 아마도 사전을 우연히 발견하고 "Python에서 사전이란 정확히 무엇이며, 이를 통해 코딩을 더 똑똑하게 하는 데 어떻게 도움이 될까요?"라고 궁금해했을 것입니다. 걱정하지 마세요. 매우 간단한 방법으로 분석해 보겠습니다.

파이썬에서 사전이란 무엇인가요?

항목 목록이 있고 각 항목에 '이름: John' 또는 '나이: 25'와 같은 고유한 라벨이 붙어 있다고 가정해 보세요. Python의 사전은 정확히 그렇게 작동합니다! 이는 각 키가 고유하고 특정 값을 가리키는 키 값 쌍의 모음입니다. 정보를 깔끔하고 체계적으로 저장하는 미니 데이터베이스라고 생각하시면 됩니다.

단어(키)를 찾아 그 의미(값)를 알아내는 실제 사전과 같습니다. 멋지죠? ?

파이썬에서 사전을 만드는 방법은 무엇입니까?

사전을 만드는 것은 아주 쉽습니다. 중괄호 {}를 사용하고 각 키 값 쌍을 콜론 :.

으로 구분하면 됩니다.

간단한 사전을 만드는 방법은 다음과 같습니다.

# Creating a dictionary to store student information
student_info = {
    'name': 'John Doe',
    'age': 21,
    'major': 'Computer Science'
}

# Printing out the dictionary
print(student_info)

이 사전에는 학생의 이름, 나이, 전공이 저장되어 있습니다. 'name' 및 'age'와 같은 키가 어떻게 따옴표로 묶여 있는지 확인하세요. 키는 문자열, 숫자, 심지어 튜플일 수도 있기 때문입니다! 값은 문자열, 목록, 기타 사전 등 무엇이든 될 수 있으며 이름을 지정합니다.

사전이 반복을 피하는 데 어떻게 도움이 됩니까(DRY 원칙)

자, 이제 흥미로운 부분이 있습니다. Don't Repeat Yourself를 의미하는 DRY 원칙에 대해 들어보셨을 것입니다. 이는 코드의 중복을 피하도록 권장하는 규칙입니다. 사전이 어떻게 도움이 될 수 있나요? 살펴보겠습니다.

사전을 사용하기 전(반복 코드)

학생에 대한 정보를 별도의 변수에 저장한다고 가정해 보세요. 다음과 같이 보일 수 있습니다:

student1_name = 'Alice'
student1_age = 20
student1_major = 'Mathematics'

student2_name = 'Bob'
student2_age = 22
student2_major = 'Physics'

반복적인 변수 이름이 있을 뿐만 아니라 이를 인쇄하거나 업데이트하려면 계속해서 반복해야 합니다. 이것은 사전이 하루를 절약할 수 있는 곳입니다! ?

예시 1: 사전(DRY 버전) 사용 후

사전을 사용하면 이 모든 정보를 더욱 깔끔한 방식으로 저장할 수 있습니다.

# Using dictionaries to store student data
students = {
    'student1': {'name': 'Alice', 'age': 20, 'major': 'Mathematics'},
    'student2': {'name': 'Bob', 'age': 22, 'major': 'Physics'}
}

print(students['student1']['name'])  # Output: Alice
print(students['student2']['age'])   # Output: 22

이제 학생 이름, 나이, 전공별로 별도의 변수를 만들 필요가 없습니다. 훨씬 간단한 방법으로 정보에 액세스하거나 업데이트할 수 있습니다. 또한 코드가 더 깔끔하고 관리하기 쉬워집니다.

예 2: 사전을 사용한 반복 방지

학생 점수를 기반으로 간단한 채점 시스템을 만들고 싶다고 가정해 보겠습니다. 사전이 없으면 다음과 같이 작성하게 될 수도 있습니다.

# Without dictionary (repeating code)
alice_score = 90
bob_score = 75
charlie_score = 85

if alice_score >= 85:
    print("Alice gets an A")
if bob_score >= 85:
    print("Bob gets an A")
if charlie_score >= 85:
    print("Charlie gets an A")

여기서 if 문을 반복하고 각 학생의 이름과 점수를 하드코딩하고 있는데 이는 DRY 원칙을 위반하는 것입니다.

대신 사전을 사용하면 다음과 같이 반복을 피할 수 있습니다.

# Using a dictionary (DRY principle)
student_scores = {'Alice': 90, 'Bob': 75, 'Charlie': 85}

for student, score in student_scores.items():
    if score >= 85:
        print(f"{student} gets an A")

이제 더 깔끔하고, 더 짧고, 유지 관리하기 쉬운 코드가 생겼습니다! if 문을 한 번만 작성하면 사전에 있는 모든 학생에게 적용됩니다. ?

유용한 사전 방법

사전에는 쉽게 작업할 수 있는 다양한 내장 메서드가 포함되어 있습니다. 그 중 몇 가지를 확인해 보겠습니다.

  1. .get(): 키가 존재하지 않는 경우 오류를 방지하는 데 도움이 됩니다.
   print(student_info.get('address', 'Address not available'))  
   # Output: Address not available
  1. .keys() 및 .values(): 사전의 모든 키 또는 값을 가져옵니다.
   print(student_info.keys())  # Output: dict_keys(['name', 'age', 'major'])
   print(student_info.values())  # Output: dict_values(['John Doe', 21, 'Computer Science'])
  1. .items(): 키와 값을 쌍으로 가져옵니다.
   for key, value in student_info.items():
       print(f'{key}: {value}')
   # Output: 
   # name: John Doe
   # age: 21
   # major: Computer Science
  1. .update(): 다른 사전이나 키-값 쌍으로 사전을 업데이트합니다.
   student_info.update({'grade': 'A'})
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A'}
  1. .setdefault(): 키가 존재하지 않는 경우 기본값을 사용하여 키를 추가합니다.
   student_info.setdefault('graduation_year', 2024)
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A', 'graduation_year': 2024}

마무리

사전은 매우 강력하며 코드에서 DRY 원칙을 따르는 데 실제로 도움이 될 수 있습니다. 사전을 사용하면 반복을 방지하고, 코드를 체계적으로 정리하고, 읽고 유지 관리하기 쉽게 만들 수 있습니다.

따라서 다음에 비슷한 변수를 여러 개 만들면 대신 사전을 사용해 보세요. 그러면 여러분의 시간과 노력이 엄청나게 절약될 것이고, 미래의 여러분도 여러분에게 감사할 것입니다! ?

즐거운 코딩 되세요! ?

릴리스 선언문 이 기사는 https://dev.to/aashwinkumar/how-python-dictionaries-keep-your-code-clean-and-dry-3067?1에 복제되어 있습니다. 침해가 있는 경우에는 [email protected]으로 문의하시기 바랍니다. 그것을 삭제하려면
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3