GN⁺ 2025-04-24 | parent | ★ favorite | on: 고급 Python 기능들(blog.edward-li.com)
Hacker News 의견
  • 안녕하세요! 블로그의 원작자입니다! 새벽 4시에 제 글이 HN의 첫 페이지에 올라온 것을 보고 놀랐음

    • 이 글은 블로그 시작하기 한 달 전에 쓴 14개의 작은 트윗에서 시작되었음
    • 블로그를 시작하면서 이 트윗들을 첫 게시물로 재사용하기로 했음
    • 그래서 흐름이 약간 이상하게 느껴질 수도 있음
    • 월요일에는 유용한 것을, 금요일에는 좀 더 특이한 것을 찾으려고 했음
    • 제목도 마찬가지로, Python을 사용하면서 흥미롭게 느낀 14가지 기능을 모은 것임
    • 제목을 생각하는 데 5초 정도밖에 쓰지 않았음
  • Python을 사용할 때마다 코드가 Python을 잘못 사용한 것처럼 보일까 걱정됨

    • Python에 대해 몰랐던 깊이 있는 내용이나 변화에 놀라움
    • Go는 코드가 몇 년 후에도 뒤처지지 않을 것이라는 확신을 줌
    • 훌륭한 기사임
  • Python은 Python으로 남아야 하고, golang, Rust, Typescript는 각각의 철학과 디자인을 가져야 함

    • 28년 동안 4가지 언어로 코딩 중이며, Python의 변화가 마음에 들지 않음
    • Python이 인기를 얻은 이유는 타입 체크나 주석 같은 추가 레이어 때문이 아님
    • 다른 언어에서도 비슷한 것을 봤음
    • 최근 소개된 기능들의 포괄적인 목록임
    • 독자들이 유용하게 여길 수 있는 이전 목록도 있음
  • Python의 가장 큰 장점은 실행 가능한 의사 코드처럼 느껴진다는 것임

    • 언어가 도메인 수준의 지시사항을 방해하지 않음
    • 더 많은 기능을 추가할수록 매력이 떨어짐
    • 대부분의 사람들은 Python을 깊이 이해하지 못함
  • 9.3 단락 평가에 대한 지적: 빈 문자열이 있을 경우 평가가 다르게 이루어짐

    • if-else 절은 빈 문자열을 유효한 것으로 취급하지만, or 연산자는 None과 동등하게 취급함
  • Javascript/Typescript에서 Python으로 전환한 사람으로서 유용한 자원임

    • 타이핑 오버로드는 Javascript의 불행한 기능을 위한 것이며, 기술 부채로 간주함
    • 키워드 전용 및 위치 전용 인수는 구문이 너무 간결해서 가독성이 걱정됨
    • 미래 주석은 최근에 큰 도움이 되었음
    • 프로토콜은 Typescript와 비슷하지만 Python답지 않음
    • 메타클래스는 고유한 문제를 해결할 수 있는 강력한 도구임
  • 대부분의 기능은 고급 기능이 아님

    • 메타클래스는 복잡한 행동을 유도할 수 있어 피하는 편임
    • '프록시 속성'은 기능이 아님
  • 목록에서 바꾸고 싶은 것은 collections.abc 컨테이너의 포함임

    • 여러 댓글이 월러스 연산자를 싫어했지만, 좋은 용도를 찾고 나서는 유용하게 사용함
    • 정규 표현식 패턴을 사용할 때 코드가 훨씬 깔끔해짐
  • 이 글을 읽는 것이 즐거웠음

    • 대부분의 기능은 타이핑 모듈의 기능임
    • 제네릭이나 프로토콜에 대해 확신이 없었음
    • 현대의 생산 수준 Python 코드가 모든 곳에서 타입을 사용하는지 궁금함