Batter way 01~02

매일 공부(ML)·2022년 1월 31일
1

Batter way01 사용중인 파이썬의 버전을 알기

왜 파이썬의 버전을 알아야할까요?

이유는 간단합니다. 버전이 최신이면 최신일수록 가장 지원이 잘되기 때문입니다. 그래서 파이썬2가 아닌 파이썬3를 쓰는 것을 권장합니다.

그렇다면, 파이썬 버전은 어떻게 알 수 있나요?

#터미널
$ python --version #Python 3.7.12

---

#내장 모듈 sys이용

import sys
print(sys.version_info)
print(sys.version)

#결과
sys.version_info(major=3, minor=7, micro=12, releaselevel='final', serial=0)
3.7.12 (default, Sep 10 2021, 00:21:48) 
[GCC 7.5.0]

PEP 8 스타일 가이드를 따르라

PEP8이란?

파이썬 코드를 어떤 형식으로 작성할지 잘 알려주는 스타일 가이드로 이 방식을 사용한다면 코드에 더 친숙하게 접근하고 쉽게 읽을 수 있게되는 긍정적인 효과로 인해서 협업 시 빛을 발휘하게 됩니다.

https://www.python.org/dev/peps/pep-0008/


공백(탭, 스페이스, 새 줄)

파이썬에서 공백은 중요한 의미를 갖고 있습니다. 그 의미는 바로 코드의 의미를 명확하게 되도록 도와줍니다.

  • 탭 대신 스페이스를 통해서 들여쓰기하기

  • 문법적으로 중요한 들여쓰기인 경우 4칸 스페이스를 사용하기

  • 라인 길이는 79개 문자 이하

  • 긴 식을 다음 줄에 쓸 경우 4칸 스페이스로 들여쓰기

  • 파일 안에서 각 함수와 클래스 사이에는 빈 줄 두 줄 넣기

  • 클래스 안에서 메서드와 메서드 사이에는 빈 줄 한 줄 넣기

  • 변수 대입에서 = 전후에는 스페이스를 하나씩만 넣기

  • 타입 표기를 덧붙이는 경우, 변수 이름과 콜론 사이에 공백 넣지 않기

  • 콜론과 타입 정보사이에는 스페이스를 하나 넣기


명명 규약

파이썬 언어의 여러 부분에 사용되는 이름을 어떻게 붙이는지에 관한 지침으로, 사용 시 코드를 읽으면서 각 이름이 어느 유형에 속하는지 파악이 가능하게 됩니다.

  • 함수, 변수, 속성(attribute)는 lowercase_underscore처럼 소문자와 밑줄을 사용

  • 보호해야 하는 인스턴스 속성인 경우 일반적인 속성 이름 규칙을 따르는 동시에 _leading_underscore처럼 밑줄로 시작

  • 비공개 인스턴스 속성(한 클래스에서만 쓰이는) 또한 일반적인 속성 이름 규칙을 따르는 동시에 __leading_underscore처럼 밑줄 두 개로 시작

  • 클래스는 각 단어의 첫 글자를 대문자로 만들고 여러 단어 이어 붙이기 가능

  • 모듈 수준의 상수는 모든 글자를 대문자로 하고 단어와 단어 사이를 밑줄로 연결한 형태 사용(ALL_CAPS)

  • 클래스에 들어 있는 인스턴스 메서드는 호출 대상 객체를 가리치는 첫 번째 인자의 이름은 반드시 self를 사용

  • 클래스 메서드는 클래스를 가리키는 첫 번째 인자의 이름은 반드시 cls를 사용


식과 문

  • 부정을 내부에 넣기(if a is not b.)

  • 빈 컨테이너(container)나 시퀀스(sequence)([],'')를 검사할 때는 길이을 0과 비교하지 말기(if len(something)==0 [X])

  • 빈 컨테이너나 시퀀스 값은 암묵적으로 False로 취급받기 때문에 'if not 컨테이너'라는 조건문 쓰기

  • 반대로, 비어있지 않더라도 0보다 큰지 비교하지 말기

  • 비어있지 않은 것은 True로 취급받는 사실 이용

  • 한 줄짜리 if문, for문, while루프, except복합문 사용말기

  • 명확성을 위해 각 부분을 여러 줄로 나눠 배치

  • 식을 한 줄 안에 다 못 쓸 경우, 식을 괄호로 둘러싸고 줄바꿈과 들여쓰기 추가하여 읽기 쉽게 하기

  • 여러 줄로 걸쳐서 식을 쓸 경우 괄호 사용하기


임포트(import)

  • import문(from x import y도 포함)항상 파일 맨 앞에 위치

  • 모듈 임포트 시, 절대적인 이름과 경로 사용하기(ex: from x import y)

  • 만약 상대적인 경로로 임포트 해야 한다면, from, import y처럼 명시적인 구문 사용

  • 임포트를 적을 때, 표준 라이브러리 모듈, 서드 파티 모듈, 여러분이 만든 모듈 순서(커스텀 라이브러리)로 섹션 나누기

  • 각 세션은 알파벳 순서로 모듈 임포트하기

파이린트 도구

파이썬 소스 코드를 분석하는 것으로 PEP 8 스타일 가이드를 자동으로 실행해주어 다양한 오류 감지에 도움이되고 습관 기르기에 좋을 것입니다.

http://www.pylint.org/

profile
성장을 도울 아카이빙 블로그

0개의 댓글