728x90
Python
6

[PEP8] Comments

comments는 완벽한 문장이어야한다. 첫 번째 문자는 대문자 각 문장은 마침표로 끝난다. 여러 문장으로 작성할 때는 마침표 뒤에 공백을 두 개 사용 (마지막 문장 제외) 웬만하면 영어로 작성 Block Comments 뒤에 작성되는 코드에 해당하는 comments이고 들여쓰기도 해당 코드와 동일하게 적용 #과 공백으로 시작 ('# ') Inline Comments inline comments는 많이 사용하지 말 것 statement와 같은 줄에 사용 statement와 두 개 이상의 공백으로 분리되며 #과 공백으로 시작 해당 statement가 주석없이도 분명하다면 inline comments는 불필요 x = x + 1 # Increment x 때때로 satement가 다른 의미를 가지고 있다면 다음..

Python 2022.02.26

[PEP8] When to use trailing commas

하나의 요소로된 튜플을 만들때 마지막에 comma를 추가하고 괄호로 감싸는 것을 추천 # Correct: FILES = ('setup.cfg',) # Wrong: FILES = 'setup.cfg', trailing comma는 나중에 list, arguments, imported items 등 확장될 것으로 예상될 때 유용 각 line에 trailing comma를 추가하고 괄호는 다음 줄에 닫는다. trailing comma와 같은 줄에 괄호를 닫는 것은 의미가 없음 # Correct: FILES = [ 'setup.cfg', 'tox.ini', ] initialize(FILES, error=True, ) # Wrong: FILES = ['setup.cfg', 'tox.ini',] initialize..

Python 2022.02.25

[PEP8] Whitespace in Expressions and Statements

Pet Peeves 대괄호, 중괄호, 소괄호 안의 공백 # Correct: spam(ham[1], {eggs: 2}) # Wrong: spam( ham[ 1 ], { eggs: 2 } ) 마지막 쉼표와 닫는 괄호 사이의 공백 # Correct: foo = (0,) # Wrong: bar = (0, ) 콤마, 세미클론, 콜론 앞의 공백 # Correct: if x == 4: print(x, y); x, y = y, x # Wrong: if x == 4 : print(x , y) ; x , y = y , x 슬라이스에서는 콜론의 양쪽 간격이 동일(단, 슬라이스의 parameter가 생략되면 공백도 생략) # Correct: ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham..

Python 2022.02.07

[PEP8] String Quotes

python에서 작은 따옴표 문자열과 큰 따옴표 문자열은 동일 문자열에 작은 따옴표 또는 큰 따옴표가 포함되는 경우 다른 하나를 사용하여 백슬래시 사용을 피해야한다. # https://www.kite.com/python/answers/how-to-put-quotes-in-a-string-in-python # -- 1 print('"abc"') # -- 2 print("'abc'") # -- 3 print("""a'b"c""") # -- backslash를 사용하는 경우 print("\"abc\"") print('\'abc\'') 삼중 따옴표로 묶인 문자열의 경우 항상 큰 따옴표를 사용 [reference] https://www.python.org/dev/peps/pep-0008/#string-quotes

Python 2022.02.07

[PEP8] Code Lay-out

들여쓰기 들여쓰기는 4개의 공백을 사용 # 올바른 예 # 괄호 기호에 맞춰 정렬 foo = long_function_name(var_one, var_two, var_three, var_four) # arguments를 구별하기 위해 들여쓰기를 추가 def long_function_name( var_one, var_two, var_three, var_four): print(var_one) # 다음과 같은 들여쓰기는 Hanging indent라고 부르며 level이 추가되어야 함 foo = long_function_name( var_one, var_two, var_three, var_four) # 잘못된 예 # vertical로 정렬이 안되어있으면 첫째 줄에 arguments를 작성하면 안됨 foo = lo..

Python 2022.02.04

한 번 사용하고 버려지는 Iterator 객체

map, reversed와 같은 함수에서 반환하는 Iterator 객체는 한 번 사용되면 지워진다. 즉, 일회성이라고 할 수 있다. 우선 map을 사용해서 확인해보자. arr = map(int, input().split()) max_ = max(list(arr)) print(list(arr)) 위 코드를 보면 arr에 입력한 숫자들을 int형으로 변환한 iterator 객체를 저장하고 max_에 최댓값을 저장한다는 것을 알 수 있다. 그리고 arr를 리스트로 출력하면 빈 리스트([])가 나온다. 왜일까?? 차례대로 확인해보자. arr에 iterator가 저장된다. max_에 arr안에 있는 숫자들 중 최댓값이 저장된다. 이때 arr에 저장된 iterator 객체가 사용되었다고 생각하자. arr를 리스트로..

Python 2021.06.13
728x90