데이터 사이언스
[YAML] YAML이란? 기본 특징, 데이터 타입, 문법
메가구글
2023. 4. 22. 03:47
1. YAML 정의
YAML은 사람이 쉽게 이해할 수 있는 데이터 직렬화 언어이다.
구성 파일 작성에 자주 사용된다. 예시로 docker로 이루어진 파일에 쓰인다.
YAML 파일은 .yml 또는 .yaml 확장자를 사용한다.
2. YAML 기본 특징
2-1 공백만 허용 (Only space allowed)
YAML은 공백과 들여쓰기로 구조와 데이터 트리를 정의한다.
(이는 마치 Python 프로그래밍과 비슷하다.)
2-2 문서 기본구호 (Document delimeters)
--- : 문서의 시작
... : 문서의 끝
2-3 모든 것은 딕셔너리의 일부이다.
모든 YAML 파일의 데이터는 key-value 쌍의 형식을 따른다.
YAML은 대소문자를 구분하며, key는 중복되지 말아야 한다. (unique)
3. YAML 데이터 타입
YAML 데이터 타입은 3가지가 있다.
Scalar, List, Mappings(key-value pairs)
3-1 스칼라(Scalars)
스칼라는 한가지 값으로 분류될 수 있는 데이터를 말한다. (string, integer, boolean)
아래 예시를 보며 쉽게 이해해 보자.
items: 30
price: 50
overwrite: yes
3-2 리스트(Lists)
YAML 문법에서 List는 두 가지 방법으로 표현될 수 있다.
1. 하이픈(-)과 공백으로 표현한다.
list:
- first
- second
- third
2. 인라인 형식은 대괄호와 쉼표로 구분한다.
list: [ first, second, third ]
3-3 매핑(Mappings)
Mappings은 정렬되지 않은 key/value 쌍의 시퀀스다.
여기서 name과 code은 key이고 kim과 yaml은 value이다.
여기서 key는 unique 해야 한다.
character:
name: kim
code: yaml
또는 인라인 형식으로도 표현할 수 있다.
character: { name: kim, code: yaml }
복잡한 형태의 구조
characters:
- { name : kim, code: yaml}
- { name : cho, code: java}
- { name : han, code: python}
characters:
- name: kim
code: yaml
- name: cho
code: java
- name: han
code: python