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
반응형