지옥에서 온 파이썬 은 파이썬을 기초부터 배우기 위한 피신 프로그램입니다.
파이썬 3.8.2+
를 이용하여 진행됩니다.- PyNorminette 를 준수하여야 합니다.
- PyMoulinette 가 서브젝트를 평가하게 됩니다.
PyNorminette는 PyNorme의 준수 여부를 확인하는 프로그램입니다. 아래 명령어로 설치할 수 있습니다 (테스트 버전):
pip install -i https://test.pypi.org/simple/ pynorminette
PyNorminette
에서는 다음 세 가지 테스터기를 사용합니다: black
, mypy
, flake8
.
PyNorminette
가 검사하지 않는 그 외에 PyNorme
의 다른 부분은 권고 사항이며,
평가에 반영되지 않습니다. 하지만 지키면 좋겠죠? 😏
- PyNorme은 '파이써닉' 한 코드를 작성하기 위해 준수하여야 하는 규칙의 목록입니다.
- 모든 프로그램은 pep8 을 따라야 합니다.
- 변수, 함수 및 모든 이름은 pep8의 naming convention 을 기본으로 따릅니다.
- 테스터기는 여러분이 작성한
main()
함수를 실행하고 그 결과로 판단합니다. 예시:
if __name__ == "__main__":
main()
-
전역에 코드를 작성하면 안 되요! 필요한 것들은 함수나 클래스 안에 넣어 주세요.
-
모든 파일은 Black 포매터를 이용해 포매팅되어야 합니다. 이는 통일된 코딩 스타일 통해 서식 작성의 피로를 줄이고 개발에 집중할 수 있게 하기 위해서입니다. 대부분의 에디터에서는
black
을 통해 저장 시마다 자동으로 포매팅 할 수 있습니다. -
들여쓰기로 공백 4칸을 사용하여야 합니다. 탭 문자의 사용은 금지됩니다. 대부분의 편집기에서는
tab
을 공백 4칸으로 바꾸는 기능을 지원합니다. -
각
함수 블록
은 함수 정의를 제외하고 최대 열 80글자, 행 25줄이어야 합니다. -
선언문
은 함수의 맨 앞에 있어야 합니다. -
세미콜론은
;
절대! 사용해서는 안돼요!
중첩 함수
의 사용은 금지됩니다.- 최대 4개의 인자를 받을 수 있습니다.
*args
,**kwargs
의 사용은 명백한 이유가 없다면 금지됩니다.
-
함수와 변수에 타이핑을 하는 것은 매우 권장됩니다 - 더 자주 하도록 합시다!
-
변수의 타입은 암시적/명시적으로 추론이 가능해야 합니다.
-
변수의 타입이 중간에 변경되어서는 안 됩니다. 예)
# 옳은 경우 숫자나문자: Union[str, int] = 42 숫자나문자 = "egg" # 변수 '숫자나문자'는 정수나 문자열일 수 있습니다. # 잘못된 경우 숫자 = 13 숫자 = "hello world" # 정수형 변수 '숫자'에 문자열이 대입되었습니다
- 전역 변수,
global
,nonlocal
의 사용은 금지됩니다. import *
구문의 사용은 금지됩니다.
- 변수 언패킹 시 사용하지 않는 변수는
_
로 표현합니다. range(len(x))
의 사용은 금지됩니다.