"Pythonic"코딩이란 무엇입니까?
Python은 배우기 쉽고 모든 분야에서 완벽하게 작동하는 앱을 구축할 수 있을 만큼 복잡하여 가장 널리 사용되는 언어 중 하나입니다. 더 높은 가독성을 위해 만들어졌지만 고유한 장점이 있는 동적으로 유형이 지정된 해석 언어입니다. 그 중 하나는 Python 자체에만 독점적인 구문을 사용하여 코드를 작성하고 구조화하는 고유한 방법입니다.
프로그래머가 스니펫을 "Pythonic"이 아니라고 선언하면 기본적으로 코드가 다른 언어의 리터럴 번역이거나 Python 고유의 기능을 사용하여 코드를 더 읽기 쉽게 만들 수 있음을 의미합니다. 개념을 더 자세히 설명하기 위해 두 가지 예가 제공됩니다.
튜플 패킹
Python에서 쉼표 ' , '로 구분된 상수와 값이 여러 개인 경우 Python 인터프리터는 자동으로 튜플로 알려진 컬렉션 데이터 유형으로 사용합니다. 이것은 일반적으로 포장으로 알려져 있습니다.
이 패킹 유틸리티는 여러 인수를 전달하거나 수신해야 하지만 사용할 특정 집합 데이터 유형이 없을 때 일반적으로 사용됩니다. 따라서 임시 사례의 경우 튜플 패킹은 많은 노력 없이 이러한 작은 사용 사례를 마무리하는 데 탁월한 역할을 합니다.
def sum_multiply_power(x, y):
a = x + y
b = x * y
c = x ** y
return a, b, c
ans = sum_multiply_power(5, 3)
print(ans)
>>> (8, 15, 125)
패킹과 유사하게 Python에는 튜플 언패킹이 있어 추가 노력이나 번거로움 없이 컬렉션 데이터 유형의 요소를 개별 변수로 추출할 수 있습니다.
ans1, ans2, ans3 = ans
print("The first part of ans is:", ans1)
print("The second part of ans is:", ans2)
print("The third part of ans is:", ans3)
>>> The first part of ans is: 8
>>> The second part of ans is: 15
>>> The third part of ans is: 125
또한 함수나 변수 간에 값을 전달할 때 별표 연산자 '*'를 사용하여 요소의 압축을 풀 수도 있습니다.
def print_3_birds(a, b, c):
print("At first comes:", a)
print("Then comes:", b)
print("And lastly comes:", c)
blues = "Jake", "Jay", "Jim"
print_3_birds(*blues)
>>> At first comes: Jake
>>> Then comes: Jay
>>> And lastly comes: Jim
목록 이해
목록 내포는 목록 데이터 유형 내에서 값을 추가/업데이트하는 고유한 방법이며 다른 목록의 값을 사용하여 새 목록을 만드는 데도 도움이 됩니다. 목록 이해력은 훨씬 더 읽기 쉽게 만들고 루프 작동을 이해하는 복잡성을 줄입니다.
evens = []
for i in range(100):
if(i%2==0):
evens.append(i)
evens = [i for i in range(100) if i%2==0]
odds = [i for i in range(100) if i%2==0]
odds = [num+1 for num in odds]
꽤 편리한 목록 이해의 또 다른 사용 사례는 값 목록을 반복하면서 함수를 호출하는 데에도 사용할 수 있다는 것입니다.
def pretty_print(val):
print("The value of this variable is:", val)
[pretty_print(num) for num in (odds+evens)]
[print(num) for num in odds if odds>20]
요컨대, 파이썬 방식의 코딩에는 제한이 없습니다. 최신 버전에서는 동일한 논리를 보다 읽기 쉽고 포괄적인 방식으로 작성하기 위한 새로운 기술, 구조 및 방법을 도입했습니다. 이 코딩 스타일을 배우는 가장 좋은 방법은 릴리스된 각각의 새 버전과 함께 제공되는 Python 설명서를 살펴보고 동일한 논리에 대해 다른 구현을 사용하여 실험하는 것입니다.
Reference
이 문제에 관하여("Pythonic"코딩이란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sid_am_ahd935/what-is-pythonic-coding-27cm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)