**파이썬 변수명을 작성 중에 문득 명명 규칙에 대해 생각하게 되어 이를 정리하려는 글입니다.
변수명을 짓고 있는데, 생각해 보니 상수여서 대문자로 표기해야 되나 순간 헷갈렸다. 보통 다른 예제 코드들을 보면 상수는 대문자로 표기되어 있는 경우가 많았기 때문이다. 그래서 명명 규칙을 다시 한번 확인하기로 했다.
기본적인 개념은 숙지하고 있지만 아무래도 언어별로 규칙이 조금씩 다르기 때문에 문득문득 헷갈려서 새로 찾아보게 되는 것 같다..!
변수명을 선택할 때는 일관성이 중요하며, Python에서는 PEP 8이라는 스타일 가이드에 따라 코드를 작성하는 것이 권장된다.
PEP 8 이란?
PEP: Python Enhancement Proposal
PEP 8은 Python Enhancement Proposal의 약자로, 파이썬 코드를 어떻게 스타일링할지에 대한 규칙과 권장 사항을 제공하는 것이다.
https://peps.python.org/pep-0008/
PEP 8 – Style Guide for Python Code | peps.python.org
PEP 8 – Style Guide for Python Code Author: Guido van Rossum , Barry Warsaw , Nick Coghlan Status: Active Type: Process Created: 05-Jul-2001 Post-History: 05-Jul-2001, 01-Aug-2013 Table of Contents This document gives coding conventions for the Python co
peps.python.org
위 내용을 보면 파이썬 명명 규칙을 확인할 수 있다.
내가 찾고 싶었던 내용인 변수 관련은 아래와 같다.
- 변수명: 소문자와 밑줄(underscore)을 사용하여 my_variable와 같은 형식으로 작성
- 상수: 모든 문자를 대문자로 쓰고, 밑줄(underscore)을 MY_CONSTANT와 같은 형식으로 작성
상수는 모두 대문자로 표기, 변수는 소문자를 표기, 단어의 구분은 밑줄(언더바)을 사용한다.
명명 규칙에 맞게 작성하여 코드의 가독성을 높일 수 있도록 하자!
특히 파이썬에서는 들여 쓰기가 중요한 문법적 요소이므로, 잘못된 들여 쓰기는 코드 실행 시 에러를 발생시키니 꼭 유의하자
(사실 에디터에 바로 표시되기 때문에 들여 쓰기 에러가 남아있는 경우는 거의 없었다.)
그렇게 수정한 코드는 아래와 같다.
import logging
import requests
from mysql_module import MySqlModule
import configparser
# 로깅 설정 초기화
logging.basicConfig(level=logging.INFO)
try:
# 설정 파일 읽기
parser = configparser.ConfigParser()
parser.read("credentials.conf")
# API 정보
APP_ID = parser.get("credentials", "APP_ID")
API_KEY = parser.get("credentials", "API_KEY")
# 데이터베이스 정보
MYSQL_USER = parser.get("credentials", "MYSQL_USER")
MYSQL_PASS = parser.get("credentials", "MYSQL_PASS")
MYSQL_HOST = parser.get("credentials", "MYSQL_HOST")
MYSQL_DB = parser.get("credentials", "MYSQL_DB")
except (configparser.Error, FileNotFoundError) as e:
logging.error(f"Configuration error: {e}")
raise SystemExit
logging.info(f"Configuration success!")
'Development > Python' 카테고리의 다른 글
[Python] 람다 함수(lambda) (2) | 2023.09.07 |
---|---|
[Python] 이미지 분석 모듈 사용해보기 (0) | 2023.07.20 |
[Python] pass 명령어란? (2) | 2023.06.18 |
[Python] scrapy 모듈 사용하여 크롤링하기 (0) | 2023.06.18 |
[Python] base64 디코드 (0) | 2023.05.23 |