Python 에서 변수가 딕셔너리인지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 변수가 딕셔너리인지 확인하는 방법을 배우게 됩니다. 딕셔너리는 키 - 값 쌍으로 데이터를 저장하는 데 사용되는 기본적인 데이터 구조입니다. 중괄호 {}와 키 기반 인덱싱을 사용하여 딕셔너리를 생성, 접근 및 수정하는 방법을 포함하여 딕셔너리의 기본 사항부터 시작합니다.

그런 다음 이 랩에서는 type() 함수와 isinstance() 함수를 사용하여 변수가 딕셔너리인지 식별하는 방법을 안내합니다. 이러한 메서드를 테스트하고 출력을 관찰하기 위해 Python 스크립트를 생성하여 변수가 딕셔너리 객체를 보유하고 있는지 프로그래밍 방식으로 결정하는 방법에 대한 이해를 굳힐 것입니다.

딕셔너리 이해하기

이 단계에서는 Python 의 기본적인 데이터 구조인 딕셔너리에 대해 배우게 됩니다. 딕셔너리는 키 - 값 쌍으로 데이터를 저장하는 데 사용되며, 관련 키를 기반으로 값을 빠르게 검색할 수 있습니다.

딕셔너리는 중괄호 {}를 사용하여 정의됩니다. 각 키 - 값 쌍은 콜론 :으로 구분되며, 쌍은 쉼표 ,로 구분됩니다. 다음은 간단한 예시입니다.

my_dict = {"name": "Alice", "age": 30, "city": "New York"}
print(my_dict)

딕셔너리로 작업하기 위해 VS Code 편집기를 사용하여 ~/project 디렉토리에 dictionary_example.py라는 Python 파일을 생성해 보겠습니다.

VS Code 를 열고 ~/project 디렉토리에 dictionary_example.py라는 새 파일을 생성하고 다음 내용을 추가합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Print the entire dictionary
print(my_dict)

이제 터미널에서 다음 명령을 사용하여 Python 스크립트를 실행합니다.

python ~/project/dictionary_example.py

다음과 같은 출력을 볼 수 있습니다.

{'name': 'Alice', 'age': 30, 'city': 'New York'}

딕셔너리에서 특정 값에 접근하려면 대괄호 [] 안에 키를 사용합니다.

name = my_dict["name"]
print(name)

dictionary_example.py 파일을 수정하여 다음 줄을 포함합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Access a value using the key
name = my_dict["name"]
print(name)

스크립트를 다시 실행합니다.

python ~/project/dictionary_example.py

이제 출력은 다음과 같습니다.

Alice

새로운 키 - 값 쌍을 딕셔너리에 추가할 수도 있습니다.

my_dict["occupation"] = "Engineer"
print(my_dict)

dictionary_example.py 파일을 업데이트합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Add a new key-value pair
my_dict["occupation"] = "Engineer"
print(my_dict)

스크립트를 실행합니다.

python ~/project/dictionary_example.py

출력은 다음과 같습니다.

{'name': 'Alice', 'age': 30, 'city': 'New York', 'occupation': 'Engineer'}

딕셔너리는 변경 가능합니다. 즉, 키와 관련된 값을 변경할 수 있습니다.

my_dict["age"] = 31
print(my_dict)

dictionary_example.py 파일을 수정합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Change the value of an existing key
my_dict["age"] = 31
print(my_dict)

스크립트를 실행합니다.

python ~/project/dictionary_example.py

출력은 다음과 같습니다.

{'name': 'Alice', 'age': 31, 'city': 'New York'}

Python 에서 구조화된 데이터로 작업하려면 딕셔너리를 이해하는 것이 중요합니다. 딕셔너리는 정보를 저장하고 검색하는 유연하고 효율적인 방법을 제공합니다.

type() 함수를 사용하여 식별하기

이 단계에서는 Python 에서 type() 함수를 사용하여 변수의 데이터 유형을 식별하는 방법을 배우게 됩니다. 이는 작업 중인 데이터 종류를 이해하고 코드를 디버깅하는 데 유용한 도구입니다.

type() 함수는 객체의 유형을 반환합니다. 예를 들어, 정수를 포함하는 변수가 있는 경우 type()<class 'int'>를 반환합니다. 문자열을 포함하는 경우 <class 'str'>을 반환하며, 다른 유형도 마찬가지입니다.

이전 단계에서 생성한 dictionary_example.py 파일을 계속 사용해 보겠습니다. 다양한 변수의 유형을 식별하는 코드를 추가할 것입니다.

VS Code 에서 dictionary_example.py를 열고 다음 줄을 추가합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check the type of the dictionary
print(type(my_dict))

## Access a value
name = my_dict["name"]

## Check the type of the value
print(type(name))

## Check the type of the age
age = my_dict["age"]
print(type(age))

이제 다음 명령을 사용하여 Python 스크립트를 실행합니다.

python ~/project/dictionary_example.py

다음과 같은 출력을 볼 수 있습니다.

<class 'dict'>
<class 'str'>
<class 'int'>

이 출력은 my_dict가 딕셔너리 (dict), name이 문자열 (str), age가 정수 (int) 임을 알려줍니다.

type()을 리스트 및 부울과 같은 다른 데이터 유형과 함께 사용할 수도 있습니다. dictionary_example.py에 몇 가지 더 많은 예제를 추가해 보겠습니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check the type of the dictionary
print(type(my_dict))

## Access a value
name = my_dict["name"]

## Check the type of the value
print(type(name))

## Check the type of the age
age = my_dict["age"]
print(type(age))

## Create a list
my_list = [1, 2, 3]
print(type(my_list))

## Create a boolean
is_adult = True
print(type(is_adult))

스크립트를 다시 실행합니다.

python ~/project/dictionary_example.py

이제 출력은 다음과 같습니다.

<class 'dict'>
<class 'str'>
<class 'int'>
<class 'list'>
<class 'bool'>

보시다시피 type()은 Python 에서 작업 중인 데이터 유형을 이해하는 데 도움이 되는 다재다능한 함수입니다. 이는 복잡한 데이터 구조를 처리하거나 변수의 유형을 모르는 경우에 특히 유용합니다.

isinstance() 함수로 확인

이 단계에서는 Python 에서 isinstance() 함수를 사용하여 객체가 특정 클래스 또는 유형의 인스턴스인지 확인하는 방법을 배우게 됩니다. 이 함수는 상속을 고려하기 때문에 type()보다 더 강력합니다.

isinstance() 함수는 두 개의 인수를 받습니다. 확인하려는 객체와 확인하려는 클래스 또는 유형입니다. 객체가 지정된 클래스 또는 유형의 인스턴스인 경우 True를 반환하고, 그렇지 않으면 False를 반환합니다.

dictionary_example.py 파일을 계속 사용해 보겠습니다. isinstance()를 사용하여 다양한 변수의 유형을 확인하는 코드를 추가할 것입니다.

VS Code 에서 dictionary_example.py를 열고 다음 줄을 추가합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if my_dict is a dictionary
print(isinstance(my_dict, dict))

## Access a value
name = my_dict["name"]

## Check if name is a string
print(isinstance(name, str))

## Check if age is an integer
age = my_dict["age"]
print(isinstance(age, int))

이제 다음 명령을 사용하여 Python 스크립트를 실행합니다.

python ~/project/dictionary_example.py

다음과 같은 출력을 볼 수 있습니다.

True
True
True

이 출력은 my_dict가 딕셔너리이고, name이 문자열이며, age가 정수임을 확인합니다.

두 번째 인수로 유형의 튜플을 전달하여 isinstance()를 사용하여 여러 유형을 한 번에 확인할 수도 있습니다. 예를 들어:

## Check if age is either an integer or a float
print(isinstance(age, (int, float)))

dictionary_example.py 파일을 수정하여 이 확인을 포함합니다.

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if my_dict is a dictionary
print(isinstance(my_dict, dict))

## Access a value
name = my_dict["name"]

## Check if name is a string
print(isinstance(name, str))

## Check if age is an integer
age = my_dict["age"]
print(isinstance(age, int))

## Check if age is either an integer or a float
print(isinstance(age, (int, float)))

스크립트를 다시 실행합니다.

python ~/project/dictionary_example.py

이제 출력은 다음과 같습니다.

True
True
True
True

isinstance()는 Python 에서 유형 검사를 위한 강력한 도구이며, 특히 상속을 처리하거나 여러 유형을 확인해야 할 때 유용합니다. 변수가 예상되는 유형인지 확인하여 더 강력하고 신뢰할 수 있는 코드를 작성하는 데 도움이 됩니다.

요약

이 랩에서는 Python 의 딕셔너리에 대해 배웠습니다. 딕셔너리는 키 - 값 쌍으로 데이터를 저장하기 위한 기본적인 데이터 구조입니다. 딕셔너리를 생성하고, 키를 사용하여 값에 접근하고, 새로운 키 - 값 쌍을 추가했습니다.

또한 변수가 딕셔너리인지 확인하기 위해 type() 함수와 isinstance() 함수를 사용하는 연습을 했습니다. type() 함수는 객체의 유형을 반환하고, isinstance()는 객체가 지정된 클래스 또는 유형의 인스턴스인지 확인합니다.