Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬을 특별하게 만드는 매력적인 기능들

파이썬은 간결하고 읽기 쉬운 문법 덕분에 전 세계 개발자에게 가장 사랑받는 프로그래밍 언어 중 하나입니다. 이 글에서는 파이썬을 다른 언어와 차별화하는 멋진 기능들을 예제 코드와 함께 하나씩 살펴보겠습니다.

1. 파이썬의 설계 철학, '젠 오브 파이썬(The Zen of Python)'

파이썬 인터프리터에는 재미있는 이스터 에그가 숨겨져 있습니다. import this를 실행하면 팀 피터스(Tim Peters)가 작성한 '젠 오브 파이썬', 즉 파이썬의 19가지 설계 원칙이 출력됩니다.

>>> import this

출력 결과

The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
The flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

핵심 원칙을 한국어로 옮기면 다음과 같습니다.

  • 아름다운 것이 추한 것보다 낫다.
  • 명시적인 것이 암묵적인 것보다 낫다.
  • 단순한 것이 복잡한 것보다 낫다.
  • 평평한 구조가 중첩된 구조보다 낫다.
  • 가독성은 중요하다.
  • 오류는 결코 조용히 지나가지 않아야 한다.
  • 모호할 때는 추측하려는 유혹을 거부하라.
  • 명확한 방법은 되도록 단 하나여야 한다.

2. 한 줄로 두 변수 값 교환하기

대부분의 언어에서 두 변수의 값을 맞바꾸려면 임시 변수가 필요합니다. 하지만 파이썬은 튜플 언패킹(tuple unpacking)을 활용해 단 한 줄로 처리할 수 있습니다.

예제

a = 201
b = 786
print("교환 전 a =", a, ", b =", b)
a, b = b, a   # 한 줄로 값 교환
print("교환 후 a =", a, ", b =", b)

출력 결과

교환 전 a = 201 , b = 786
교환 후 a = 786 , b = 201

3. enumerate() — 인덱스와 값을 함께 순회하기

enumerate() 함수를 사용하면 리스트의 길이를 미리 알 필요 없이 반복문에서 인덱스와 요소 값을 동시에 얻을 수 있습니다.

예제

mylist = ['t','u','t','o','r','i','a','l']
for i, value in enumerate(mylist):
    print(i, ':', value)

출력 결과

0 : t
1 : u
2 : t
3 : o
4 : r
5 : i
6 : a
7 : l

4. zip() — 여러 리스트를 동시에 순회하기

zip() 함수를 사용하면 여러 리스트를 병렬로 묶어 동시에 순회할 수 있습니다. 순회는 가장 짧은 리스트의 길이에 맞춰 종료됩니다.

예제

mylist1 = ['t','u','t','o','r','i','a','l']
mylist2 = ['p','o','i','n','t']
for i, j in zip(mylist1, mylist2):
    print(i, ':', j)

출력 결과

t : p
u : o
t : i
o : n
r : t

5. reversed() — 반복문 없이 리스트 뒤집기

내장 함수 reversed()를 사용하면 별도의 반복문 없이 뒤집힌 리스트를 바로 얻을 수 있습니다.

예제

list_inp = ['t','u','t','o','r','i','a','l']
print(list(reversed(list_inp)))

출력 결과

['l', 'a', 'i', 'r', 'o', 't', 'u', 't']

6. 인터랙티브 셸의 '_' 연산자

파이썬 대화형 셸(인터프리터)에서는 밑줄(_)을 사용해 직전 연산의 결과값을 그대로 불러올 수 있습니다.

>>> 12 + 12
24
>>> _
24
>>> print(_)
24

7. 동적 타이핑(Dynamic Typing)

파이썬은 변수를 선언할 때 자료형을 미리 지정할 필요가 없습니다. 또한 프로그램 실행 중에도 변수의 자료형을 자유롭게 변경할 수 있어 코드 작성이 훨씬 유연합니다.

x = 10        # int
x = "hello"   # str로 자유롭게 변경 가능

마무리

지금까지 파이썬을 멋지고 매력적으로 만드는 핵심 기능들을 살펴봤습니다. 간결한 문법, 강력한 내장 함수, 유연한 동적 타이핑은 초보자와 전문가 모두가 파이썬을 선택하는 이유입니다. 이러한 기능들을 잘 활용하면 더 읽기 쉽고 생산적인 코드를 작성할 수 있습니다.