여러 가지 조건과 연쇄 표현식을 함께 확인해야 하는 경우, 코드가 길어지고 읽기 어려워질 수 있습니다. 파이썬은 간결하고 가독성을 높이는 데 도움이 되는 내장 함수를 제공합니다. 이러한 함수를 효과적으로 사용하는 방법에 대해 소개합니다.
※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: Make Your Code Much More Readable with THESE Methods in Python
- URL: https://python.plainenglish.io/make-your-code-much-more-readable-with-these-methods-in-python-1f021dbf675e
개요
이 글에서는 파이썬 코드를 훨씬 더 읽기 쉽게 만드는 두 가지 방법을 살펴봅니다. 여러 조건과 연쇄 표현식을 함께 확인해야 하는 경우, 코드가 상당히 길어지고 읽기 어려워질 수 있습니다. 하지만 파이썬은 코드를 더 간결하고 가독성 있게 만드는 데 도움이 되는 두 가지 내장 함수, all과 any를 제공합니다.
코드
예제부터 시작해 보겠습니다. main이라는 함수가 있고 is_connected, has_electricity, has_paid_bills라는 세 개의 부울 변수가 있다고 가정해 보겠습니다. 세 가지 조건이 모두 참인지 확인하고, 참이면 인터넷이 활성화되어 있다는 것을 출력하고 싶습니다. 그렇지 않으면 인터넷 서비스 제공업체에 문의하여 정보를 확인해야 합니다.
def main():
is_connected = True
has_electricity = True
has_paid_bills = True
if is_connected and has_electricity and has_paid_bills:
print("Our internet is active. Our internet provider is happy.")
# Access to the internet
else:
print("We need to contact our internet service provider for information.")
main()
# Output: Our internet is active. Our internet provider is happy.
이 코드를 실행하면 세 가지 조건이 모두 참이므로 인터넷이 활성화되어 있다고 인쇄됩니다. 그러나 조건 중 하나를 거짓으로 변경하면(예: has_electricity = False) 서비스 제공업체에 문의해야 한다는 메시지가 표시됩니다.
이 접근 방식은 효과적이지만 확인해야 할 부울 조건이 많으면 번거로울 수 있습니다. 코드를 더 간결하게 만들기 위해 부울의 이터러블을 취하고 모든 요소가 참인지 확인하는 all 함수를 사용할 수 있습니다. 모든 함수를 사용하도록 코드를 수정해 보겠습니다.
def main():
is_connected = True
has_electricity = True
has_paid_bills = True
requirements = [is_connected, has_electricity, has_paid_bills]
if all(requirements):
print("Our internet is active. Our internet provider is happy.")
# Access to the internet
else:
print("We need to contact our internet service provider for information.")
main()
# Output: Our internet is active. Our internet provider is happy.
모두 함수를 사용하면 간단히 요구 사항 목록을 전달할 수 있습니다. 목록의 모든 요소가 참이면 참으로 평가하고 인터넷이 활성화되었음을 출력합니다. 그렇지 않으면 서비스 제공업체에 문의하라고 알려줍니다.
마찬가지로 any 함수를 사용하여 하나 이상의 조건이 참인지 확인할 수 있습니다. 다른 예를 들어 보겠습니다. 세 사람 중 누가 돈을 가지고 있는지 확인하려고 한다고 가정해 보겠습니다: 마리오, 루이지, 피치입니다. 이들 중 한 명이라도 돈이 있으면 누군가 돈을 내야 하고, 그렇지 않으면 아무도 돈이 없다고 말합니다.
def main():
mario_has_money = False
luigi_has_money = False
peach_has_money = True
people_with_money = [mario_has_money, luigi_has_money, peach_has_money]
if any(people_with_money):
print("Someone has money to pay.")
else:
print("No one has money to pay.")
main()
# Output: Someone has money to pay.
이 예제에서는 Peach가 돈을 가지고 있으므로 누군가 지불할 돈이 있다고 인쇄됩니다. 그러나 peach_has_money를 false로 변경하면 아무도 지불할 돈이 없다고 표시됩니다.
any 함수를 사용하면 people_with_money 목록에서 하나 이상의 요소가 참인지 확인할 수 있습니다. 참이면 참으로 평가하여 지불할 돈이 있는 사람이 있다고 출력하고, 그렇지 않으면 지불할 돈이 없는 사람이 있다고 출력합니다.
결론
파이썬의 두 가지 유용한 내장 함수인 all과 any에 대해 살펴보았습니다. 이들 함수를 사용하면 여러 조건을 보다 간결하게 확인하고 코드의 가독성을 높일 수 있습니다. 이 함수가 반드시 코드를 단축하는 것은 아니지만, 특히 부울 표현식의 큰 목록을 다룰 때 코드를 더 이해하기 쉽게 만들 수 있습니다. 그러나 작은 목록이나 간단한 조건의 경우에는 And나 Or 연산자를 사용하는 것이 더 적절하고 간결할 수 있습니다.
- 더욱 다양한 정보를 보시려면 [아이엑셀러 닷컴]을 방문하세요.
- 최신 동영상을 보시려면 [엑셀러TV] 채널을 구독하세요.
'Python' 카테고리의 다른 글
파이썬에서 데코레이터 단순화하기 (30) | 2024.01.12 |
---|---|
데이터 과학을 한다면 알아야 할 파이썬 라이브러리 (2) | 2024.01.09 |
파이썬에서 파일을 다루는 방법 (26) | 2024.01.05 |
프로그래머가 인식하지 못하는 파이썬 숨겨진 기능 (31) | 2024.01.03 |
Python으로 주가 추세 예측하기 (4) | 2024.01.01 |