본문 바로가기

COMPUTER SCIENCE/PYTHON

[Python] 카멜 / 파스칼 / 스네이크 표기법 변환

코드 작성 시, 변수 명 설정을 위해 다양한 표기법이 존재한다

  • camel 표기법 (camelCase) : 띄어쓰기 되는 부분의 글자를 대문자로 작성
  • pascal 표기법 (PascalCase) : camel 표기법 + 첫번째 글자도 대문자로 작성
  • snake 표기법 (snake_case) : 띄어쓰기 부분을 '_' 로 대체

다음은 camel 표기법을 snake 표기법으로 변환하는 방법이다.

def camelToSnake(s):
    camel = re.compile(r'(.)([A-Z][a-z]+)')
    to_snake = re.compile('([a-z0-9])([A-Z])')
    
    return to_snake.sub(r'\1_\2', camel.sub(r'\1_\2', s)).lower()

 

stringcase 패키지를 이용해 다음과 같이 변경할 수도 있다.

>>> from stringcase import pascalcase, snakecase
>>> snakecase('FooBarBaz')
'foo_bar_baz'
>>> pascalcase('foo_bar_baz')
'FooBarBaz'

출처
- https://j2doll.tistory.com/564
- https://stackoverflow.com/questions/1175208/elegant-python-function-to-convert-camelcase-to-snake-case/1176023#1176023

반응형