[파이썬] 파이썬 3의 새로운 기능과 개선점

파이썬은 많은 사람들에게 애용되는 프로그래밍 언어입니다. 그리고 파이썬 3은 파이썬 언어의 최신 버전으로서, 여러 가지 새로운 기능과 개선점들을 제공하고 있습니다. 이번 블로그 포스트에서는 파이썬 3의 주요 기능들을 소개하고 개선점들에 대해 알아보겠습니다.

1. print() 함수의 개선

파이썬 3에서는 print() 함수가 더욱 강력해졌습니다. 이제 print() 함수는 기본적으로 괄호 안에 인자들을 ,로 구분하여 출력할 수 있습니다. 이전 버전의 파이썬에서는 print문을 작성할 때 항상 괄호를 사용해야 했으나, 파이썬 3 이후로는 괄호 사용이 일관되어 편리합니다.

print("Hello", "world", sep=", ", end="!")
# 출력: Hello, world!

또한, 파이썬 3에서는 기본적으로 print() 함수의 출력이 줄바꿈으로 끝나도록 설정되어 있습니다. 줄바꿈이 필요하지 않은 경우에는 end 인자를 사용하여 해당 문자로 출력을 끝낼 수 있습니다.

2. 언어적인 개선

f-문자열

파이썬 3에서는 f-문자열(formatted string)을 사용하여 변수를 문자열에 간편하게 삽입할 수 있습니다. f-문자열은 문자열 앞에 f를 붙여서 사용하며, 중괄호 {} 안에 변수를 넣을 수 있습니다.

name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
# 출력: My name is Alice and I am 25 years old.

예외 처리 개선

파이썬 3에서는 예외 처리 구문이 개선되어 더욱 간결해졌습니다. 이제 예외 발생과 관련된 정보를 좀 더 명확하게 표시해줍니다. as 키워드를 사용하여 예외 객체를 받아올 수 있고, 발생한 예외의 상세 정보를 확인할 수 있습니다.

try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"An error occurred: {e}")
    # 출력: An error occurred: division by zero

3. asyncio 모듈의 추가

파이썬 3에서는 비동기 프로그래밍을 지원하기 위해 asyncio 모듈이 새롭게 추가되었습니다. asyncio는 비동기 I/O 작업과 이벤트 처리를 위한 강력한 도구를 제공합니다. 이를 통해 여러 개의 작업을 동시에 처리하거나 여러 개의 네트워크 연결을 관리하는 등 병렬성을 쉽게 구현할 수 있습니다.

import asyncio

async def say_hello():
    await asyncio.sleep(1)  # 1초 동안 대기
    print("Hello, world!")

loop = asyncio.get_event_loop()
loop.run_until_complete(say_hello())
# 출력: Hello, world!

위 예제에서는 비동기 함수 say_hello()를 정의하고, asyncio.sleep() 함수를 사용하여 1초 동안 대기한 후에 “Hello, world!”를 출력합니다. loop.run_until_complete() 메서드를 통해 비동기 함수를 실행합니다.


파이썬 3에는 여기에서 소개한 기능들 외에도 많은 새로운 기능들과 개선점들이 있습니다. 계속해서 파이썬의 발전을 지켜보며, 새로운 기능들을 활용해 보시기 바랍니다.