Programming & Tip/Python
[Python||해결방법] Jupyter Hub에서 불필요한 PEP 8 스타일 에러 없애기 : E302 E265 W293 E225 (flake8)
Awesomist
2024. 7. 26. 20:50
728x90
Run은 되지만 주석 스타일 가이드로 눈에 거슬리는 에러들 해결하기
- E302: Expected 2 blank lines, found 1
- E265: Block comment should start with '# '
- W293: Blank line contains whitespace
- E225: Missing whitespace around operator
- 주석 스타일 가이드 warning 모든 것들을 일괄처리하는 코드 : # flake8: noqa
* E302: Expected 2 blank lines, found 1 해결하기
- 주석 블록은 # 뒤에 공백으로 시작할 것
As-is
from datetime import datetime, timedelta
def example_function(param1, param2): # E302: Expected 2 blank lines, found 1
result = param1 + param2
return result
To-be
from datetime import datetime, timedelta
def example_function(param1, param2): # noqa: E302 (문제되는 부분 앞에 두 줄 간격 벌리기)
result = param1 + param2
return result
* E265: Block comment should start with '# ' 해결
- 주석 블록은 # 뒤에 공백으로 시작할 것
As-is
def process_data(data):
#This function processes data # E265: Block comment should start with '# '
processed_data = [x * 2 for x in data]
return processed_data
To-be
def process_data(data):
# This function processes data # noqa: E265 (# 뒤에 한 칸 띄어쓰기 space 만들기)
processed_data = [x * 2 for x in data]
return processed_data
* W293: Blank line contains whitespace
- 빈 줄에 공백이 포함되어 있으면 안 된다는 가이드
As-is
class ExampleClass:
def calculate_dates(self, start_date, days):
start = datetime.strptime(start_date, "%Y-%m-%d")
end = start + timedelta(days=days)
# W293: Blank line contains whitespace
return start, end
To-be
class ExampleClass:
def calculate_dates(self, start_date, days):
start = datetime.strptime(start_date, "%Y-%m-%d")
end = start + timedelta(days=days)
return start, end #불필요한 공백이 존재하는 빈 줄 삭제
* E225: Missing whitespace around operator
- 연산자 주위에 공백을 만들라는 의미
As-is
def example_function(param1, param2):
result=param1+param2 # E225: Missing whitespace around operator
if result>10: # E225: Missing whitespace around operator
result=result*2 # E225: Missing whitespace around operator
return result
To-be
def example_function(param1, param2): # noqa: E302
result = param1 + param2 # noqa: E225 ( + 앞뒤로 공백 추가 )
if result > 10: # noqa: E225 ( > 앞뒤로 공백 추가 )
result = result * 2 # noqa: E225 ( * 앞뒤로 공백 추가 )
return result
* 이 모든 것들을 한 번에 클린하게 만드는 코드 : # flake 8: noqa
- 코드 최상단에 # flake8: noqa 주석을 추가하면 된다
# flake8: noqa
from datetime import datetime, timedelta
def example_function(param1, param2):
result=param1+param2 # E225 이슈
if result > 10:
result=result*2 # E225 이슈
return result
def process_data(data):
#This function processes data # E265 이슈
processed_data = [x * 2 for x in data]
return processed_data
class ExampleClass:
def calculate_dates(self, start_date, days):
start=datetime.strptime(start_date, "%Y-%m-%d")
end=start+timedelta(days=days)
# W293: Blank line contains whitespace
return start, end
반응형