코드에 이름 붙이기
프로그래밍을 할 때 가독성은 굉장히 중요한 요소이다. 가독성이 좋은 코드를 작성하는 방법은 다양하지만, 대표로 주석과 함수의 활용이 있다.
# 숫자 입력을 받습니다.
number_input_a = input("숫자입력>")
radius = float(number_input_a)
# 원의 둘레와 넓이를 출력합니다.
print(2*3.14*radius)
print(3.14*radius*radius)
|
코드를 작성할 때 주석을 활용하면 코드의 내용을 분석하지않더라도 어떤 내용인지 쉽게 이해할 수 있어
주석을 잘 사용할 수록 다른 사람과 함께 프로그램을 작성할 때 가독성을 향상시킬 수 있다.
더 좋은 형태는 아래와 같이 함수를 만들어 사용하는 것이다.
함수를 만들면 코드에 이름을 붙일 수 있기 때문에 쉽게 읽을 수 있다.
#함수 정의
def number_input():
output = input("숫자입력>")
return float(output)
def get_circumference(radius):
return 2 * 3.14 * radius
def get_circle_area(radius):
return 3.14 * radius * radius
#코드 본문
radius = number_input()
print(get_circumference(radius))
print(get_circle_area(radius))
|
위 코드가 훨씬 길고 복잡하다고 생각할 수 있지만 코드 본문 부분만 살펴보면 주석이 없는데도 어떤 코드가 실행될지 쉽게 알 수 있다.
때문에 한줄의 코드라도 의미를 가지고 있다면 함수로 만드는 것이 좋다.
위 예제에서 함수 부분은 다음장에서 배울 모듈 기능으로 더 간단하게 만들 수도 있다.
코드 유지보수
함수를 활용하면 코드를 유지보수할 때도 큰 도움이 된다.
이 내용을 이해하기에 앞서 변수를 통해 유지보수의 장점을 이해해보자.
위에 예제코드에서 3.14는 원주율을 의미하는데 이를 PI라는 변수로 생성하여 값을 할당해보자.
PI = 3.14
def number_input():
output = input("숫자입력>")
return float(output)
def get_circumference(radius):
return 2 * PI * radius
def get_circle_area(radius):
return 3.14 * PI * radius
radius = number_input()
print(get_circumference(radius))
print(get_circle_area(radius))
|
만약 이 상태에서 사용자가 원주율을 3.141592로 변경해달라고 요청했다고 하자.
변수를 사용하기 이전에는 3.14 숫자를 하나하나 찾아 전체 수정을 해야할 것이다.
하지만 변수를 사용한 예제를 활용하면 PI의 값만 수정해주면 실수 없이 편리하게 유지보수가 가능하다.
함수도 마찬가지이다.
print("<p>{}</p>").format("안녕하세요")
print("<p>{}</p>").format("간단한 HTML 만드는 예제입니다.")
|
여기서 만약 사용자가 <p></p>가 아닌 <p class='content-line'></p>로 감싸달라고 수정 요청을 한다면 코드를 하나하나 수정해야한다.
이를 함수를 활용하게 되면 해당 함수 구문만 수정하면 되기 때문에 유지보수가 용이하다.
def p(content):
return "<p class='content-line>{}</p>".format(content)
print(p("안녕하세요"))
print(p("간단한 HTML 태그를 만드는 예입니다."))
|
'Spec UP - Backend > 혼자 공부하는 파이썬' 카테고리의 다른 글
chap_06-1. 구문오류와 예외 (0) | 2023.12.12 |
---|---|
chap_05-3. 함수 고급 (0) | 2023.11.13 |
chapter_05-1. 함수 만들기 (0) | 2023.10.27 |
chap_04-4. 문자열, 리스트, 딕셔너리와 관련된 기본 함수 (0) | 2023.10.26 |
chap_04-3. 범위 자료형과 while 반복문 (0) | 2023.10.13 |
댓글