본문 바로가기

파이썬 기초

파이썬 코딩 규칙

python coding rule

파이썬 사용자들 간에 암묵적으로 지켜야 할 코딩 규칙

만약 코딩 룰이 없다면 자신이 작성한 코드를 다른 사람에게 제공하거나 다른 사람이 작성한 코드를 해석해야 할 경우 많은 시간을 투자하여야 할 것입니다. 따라서 일반적으로 프로그래밍 언어마다 프로그램 작성 시 따라야 할 규약이 존재합니다.

 

코딩 규칙을 따르지 않는다고 코드 실행이 안 되는 것은 아니지만 암묵적으로 전 세계인이 사용하고 있는 규칙에 따라 코드를 작성한다면 코드를 접하였을 경우 코드에 대한 가독성이 높아지고 이해가 쉬우며 유지보수 또한 수월하게 할 수가 있습니다.

 

파이썬 코드를 작성하면서 반드시는 아니지만 가급적 따라주었으면 하는 몇 가지를 정리하였습니다.

 

◈ 코드 레이아웃

들여 쓰기(Identatioin)

들여 쓰기 당 4개의 space를 사용해야 합니다.

탭이랑 공백을 구분하지 않고 사용하는 분이 있는데 우선 들여 쓰기 방법은 공백을 사용해야 합니다.

참고로 탭은 이미 탭으로 들여 쓰기 된 코드와 일관성을 유지하기 위해서만 사용해야 하며 Python 3에서는 들여 쓰기를 위해 탭과 공백을 혼합하는 것을 허용하지 않습니다.

 

최대 라인 길이(Maximum Line Length)

각 라인의 길이는 최대 79자로 제한합니다.

구조적 제한 (독 스트링 또는 주석)이 적은 긴 텍스트 블록의 경우 행 길이를 72 자로 제한해야 합니다.

필요한 편집기 창 너비를 제한하면 여러 파일을 나란히 열 수 있으며 인접한 열에 두 버전을 표시하는 코드 검토 도구를 사용할 때 잘 작동합니다.

 

imports

한 줄에 하나의 모듈을 import 해야 한다.

import os, sys처럼 두 개의 모듈을 import 하여도 코드가 실행은 되지만 가급적 한 줄에 하나의 모듈을 import 합시다.

 

 

◈ 이름 규약

피해야 할 이름

하나의 철자를 가진 변수명은 사용하지 않는 것을 추천합니다. 예를 들어 'l'(소문자 el), 'O'(대문자 oh) 또는 'I'(대문자 eye) 문자를 단일 문자 변수 이름으로 사용하지 마십시오.

일부 글꼴에서 이러한 문자는 숫자 1과 0를 구별할 수 없습니다. 'l'을 사용하고 싶을 때 대신 'L'을 사용하십시오.

 

패키지(Package) 및 모듈(Module) 이름

모듈에는 모두 소문자로 된 짧은 이름이 있어야 합니다. 가독성이 향상되면 모듈 이름에 밑줄을 사용할 수 있습니다. Python 패키지에는 밑줄을 사용하지 않는 것이 좋지만 모두 소문자로 된 짧은 이름이 있어야 합니다.

 

클래스(Class) 이름

클래스 이름은 일반적으로 CapWords 규칙을 사용해야 하는데 각 단어의 첫 글자를 대문자로 사용하면 됩니다.

예: Car, Student 등

 

변수 이름

변수 이름은 소문자를 사용하며 단어 간의 조합의 경우 가독성을 위해 밑줄(_)을 사용하여 구분합니다.

 

함수 이름

함수 이름은 소문자를 사용하며 단어 간의 조합의 경우 가독성을 위해 밑줄(_)을 사용하여 구분합니다.

예: hello_world, get_data, send_massage 등

 

메서드(Method ) 이름과 인스턴스(Instance) 변수 이름

메서드 이름도 함수 이름 규칙과 동일합니다. 소문자를 이용하며 가독성을 높이기 위해 밑줄을 사용합니다.

 

비공개 메서드나 비공개 인스턴스 변수 : 하나의 밑줄( _ )로 시작

상속된 클래스의 메서드나 인스턴스 변수 : 두 개의 밑줄( __ )로 시작

인스턴스 변수 예: student_number, _speed, _name, __pi 등

메서드 이름 예: get_speed, _calculate_circumference, __is_leap 등

 

상수(Constants) 이름

상수는 일반적으로 모듈 수준에서 정의되며 단어를 구분하는 밑줄과 함께 모두 대문자로 작성됩니다.

예: MAX_OVERFLOW, TOTAL 등