모든 변수 및 함수 이름은 snake case를 따른다.
phone_number = '010-1234-5678'
def get_number():
return '010-1234-5678'
tab과 space 중에 space 4개를 쓰는 것을 채택하고 있다.
good
def call():
return "hello world!"
bad
def call()
return "hello world!"
대 중 소 어떤 괄호 던지 괄호 안에서는 띄어쓰기를 하지 않는다.
good
call(phone[2], {"number":3})
bad
call( phone[ 2 ], { "number" : 3 })
comma(,) semicolon(;) colon(:) 앞에는 띄어쓰기를 하지 않는다
good
(lambda x,y: x+y)(10, 20)
bad
(lambda x , y : x+y)(10, 20)
해당 코드와 동일한 수준의 들여쓰기를 해준다 #에 한칸 띄어쓰기를 한다.
with open() as file:
# 파일 파싱
file.readline()
실행 코드와 같은 줄에 있는 인라인 주석은 되도록 사용하지 않는다.
단 꼭 필요한 경우라면 실행코드에서 두 칸 이상 띄어쓰기를 해준 뒤 시작 한다
with open() as file:
file.readline() # 파일 파싱
good
import os
import sys
bad
import os, sys
# 예외
from subprocess import Popen, PIPE
import는 최상된에 위치 해야 함
import 순서
1. standard library
2. Related Third party
3. Local application lirary
# Standard library imports
import datetime
import os
# Third party imports
from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
# Local application imports
from local_module import local_class
from local_package import local_function
class의 import
클래스가 포함된 모듈에서는 from 모듈 import 클래스명을 사용한다
두 개의 빈 줄로 최상위 함수 및 클래스 정의를 묶는다
def say_hello():
return "hello world"
def call_name():
return "my name"
good
APPLE = 1
BANANA = 2
good
from typing import Final
APPLE: Final = 1
BANANA: Final = 2
bad
apple = 1
banana = 2