[python] YAML 문법과 구조
YAML은 사람이 쉽게 읽고 쓸 수 있는 데이터 직렬화 양식입니다. 이는 특히 설정 파일이나 구성 데이터를 표현하는 데 많이 사용됩니다. YAML은 파이썬, 자바, 자바스크립트 등 다양한 언어에서 지원되며, 간단한 문법과 직관적인 구조로 인해 많은 사람들이 즐겨 사용합니다.
YAML 문법
YAML 문법은 다음과 같은 구조를 가지고 있습니다:
- 맵 (Map): 키-값 쌍으로 이루어진 데이터 구조입니다.
- 리스트 (List): 순서가 있는 항목의 목록입니다.
- 스칼라 (Scalar): 문자열, 숫자 또는 불리언 값 등의 단일 값을 나타냅니다.
다음은 YAML의 기본적인 문법 규칙입니다:
- 키와 값은 콜론(:)으로 구분됩니다.
- 들여쓰기는 스페이스 2칸 혹은 탭을 사용하며, 하위 요소를 나타냅니다.
- 리스트의 항목은 대시(-)로 시작합니다.
- 스칼라 값을 표현할 때는 따옴표(‘)나 큰따옴표(“)로 감싸줄 수 있습니다.
다음은 예시로 사용할 YAML 코드입니다:
# 주석 표기법은 #으로 시작합니다.
# 맵 (Map) 예제
person:
name: John Doe
age: 30
city: New York
# 리스트 (List) 예제
fruits:
- apple
- banana
- orange
# 스칼라 (Scalar) 예제
is_employee: true
위의 예시에서는 person
이라는 맵(사람 정보), fruits
라는 리스트(과일 목록), is_employee
라는 스칼라(직원 여부)를 표현하고 있습니다.
YAML의 구조
YAML은 들여쓰기를 통해 구조를 나타냅니다. 들여쓰기가 동일한 수준인 요소들은 같은 그룹에 속하게 됩니다. 이를 통해 데이터의 계층 구조를 표현할 수 있습니다.
다음은 구조적인 예제입니다:
# 주소 정보를 포함하는 맵 예제
address:
street: 123 ABC Street
city: XYZ City
country: ABC Country
# 사람 정보를 포함하는 맵 예제
person:
name: John Doe
age: 30
address: # 맵 내부에 다른 맵(주소)을 포함할 수 있습니다.
street: 123 ABC Street
city: XYZ City
country: ABC Country
위의 예시에서는 address
와 person
이라는 두 개의 맵을 표현하고 있습니다. person
맵 내에는 address
맵을 포함하고 있어, 데이터를 재사용하고 중복을 피할 수 있습니다.
결론
이상으로 YAML 문법과 구조에 대한 간단한 소개를 마치겠습니다. YAML은 쉽고 간결한 문법을 가진 데이터 직렬화 양식으로, 설정 파일이나 구성 데이터를 작성하는 데 유용하게 사용됩니다. YAML은 Python과 호환성이 높기 때문에 파이썬 프로젝트에서도 많이 사용되고 있습니다.
더 자세한 내용은 공식 YAML 사이트(https://yaml.org/)를 참고하시기 바랍니다.