본문 바로가기

Python Basic4

파이썬 가상 환경 분리하고 패키지 의존성 관리하기 개발 프로젝트를 팀 단위로 진행하다보면 사용하는 언어나 라이브러리 버전이 맞지 않아 문제가 생길 때가 종종 있습니다. 예를 들어 팀원 중 한 명이 작성한 코드가 상위 버전에서만 작동하는 기능이라 하위 버전의 라이브러리를 사용하는 다른 팀원은 실행할 수 없는 경우가 있습니다. 팀 프로젝트 뿐만 아니라 코드를 배포하는 단계에서도 버전 관리는 중요합니다. 개발 환경에서는 문제 없이 작동하는 코드가 배포된 환경에서는 버전 문제를 겪을 수도 있기 때문입니다. 이런 문제를 피하기 위해서 팀 프로젝트나 코드 배포에 익숙한 개발자들은 프로젝트마다 독립적인 환경을 구성하곤 합니다. 저도 기존에는 파이썬이나 라이브러리를 모두 컴퓨터에 글로벌하게 설치하여 별도의 가상환경 분리나 의존성 관리를 해주지 않았지만, 새롭게 프로젝.. 2023. 11. 24.
파이썬의 dis 모듈 최근 파이썬 3.12 버전이 공개되면서 몇 가지 변경점이 소개되었습니다. 자세한 내용은 공식 문서를 통해 확인할 수 있고, Real Python에서 각각에 대해서 조금 더 이해하기 쉽게 풀이한 내용을 볼 수 있습니다. 해당 글에는 Faster Python: More Specializations and Inline Comprehensions라는 섹션이 있습니다. 거기에 dis라는 모듈이 언급되는데 그 역할이 흥미로워서 간단하게 정리해보았습니다. dis는 CPython 바이트코드를 분해하고 분석할 수 있도록 하는 모듈입니다. 이 모듈이 입력받는 CPython 바이트코드는 include/opcode.h 파일에 정의되어 있으며 컴파일러와 인터프리터에서 사용됩니다. 바이트코드는 CPython 인터프리터의 구현 세.. 2023. 10. 16.
파이썬의 코딩 컨벤션과 PEP8 가이드 개발자에게 강조되는 역량 중 하나는 협업입니다. 프로젝트를 진행할 때 일반적으로 여러 인원이 각자의 역할을 부여받고 각 프로그램의 컴포넌트를 독립적으로(또는 함께) 개발하게 됩니다. 결국은 팀원들이 각자 구현한 코드를 모아서 검토하고 합치는 과정이 필요한데, 사람마다 코드를 짜는 스타일이 다르면 이 과정에서 여러 문제를 겪게 됩니다. 이런 문제를 방지하기 위한 다양한 방법이 있는데 그 중에서 코딩 컨벤션에 대해서 정리해보았습니다. 코딩 컨벤션이란? 코딩 컨벤션(coding conventions)는 특정한 프로그래밍 언어를 사용할 때 일반적으로 권고되는 코드 스타일에 대한 가이드라인을 의미합니다. 컨벤션은 파일 구조, 여백, 주석, 선언문, 공백, 명명 규칙 등을 포함합니다. 가독성과 유지보수를 위해서 가.. 2023. 9. 27.
print 문은 어떻게 동작할까? 00. print문을 사용한 문자열 출력 파이썬을 처음 배울 때, print문을 사용하여 화면에 원하는 내용을 출력하는 것으로 시작하곤 합니다. 그리고 첫 실습으로 다음과 같은 과제를 수행하기도 하죠. 특별히 이런 과제에는 공백에 주의해서 문자열을 정확하게 출력해달라는 조건도 흔히 따라붙습니다. 저는 여기서 +와 ,를 사용하여 문자열을 구분하는 방식을 눈여겨봤습니다. 01. print문 내부에서 +와 , 의 차이점 먼저 + 를 사용하여 문자열을 연결해서 출력하면 다음과 같이 나옵니다. 그리고 , 를 사용하여 문자열을 출력하면 다음과 같이 나오죠. 여기까지는 누구나 알고 있습니다. 근데 왜냐고 물어보면 어떻게 설명해야 할까요? 보통은 그냥 아 덧셈을 사용하면 공백없이 문자열을 연결해서 출력해주고, 반점을 .. 2023. 3. 19.