Skip to Content
Python 프로그래밍, 제 4판
book

Python 프로그래밍, 제 4판

by Mark Lutz
May 2025
Intermediate to advanced
1632 pages
34h 19m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Python 프로그래밍, 제 4판

20장. Python/C 통합

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

"나는 C에서 길을 잃었다"

이 책에서 다루는 프로그램은 모두 Python 코드로 작성되었습니다. 외부 서비스에 대한 인터페이스를 사용하기도 하고 재사용 가능한 도구를 Python 언어로 코딩하기도 했지만, 모든 작업은 Python 자체에서 이루어졌습니다. 프로그램의 규모와 유용성에도 불구하고 모든 작업은 처음부터 끝까지 Python으로 이루어졌습니다.

많은 프로그래머와 스크립터에게 이 모드는 완벽하게 이해가 됩니다. 실제로 이러한 독립형 프로그래밍은 사람들이 Python을 적용하는 주요 방법 중 하나입니다. 앞서 살펴본 것처럼 Python에는 시스템 도구, 인터넷 프로토콜, GUI, 데이터 저장소 등에 대한 인터페이스가이미 포함되어있습니다. 또한 우리가 접할 수 있는 대부분의 사용자 지정 작업은 오픈 소스 세계에 미리 구축된 솔루션이 있으며, 예를 들어 PIL 시스템을 사용하면 자체 설치 프로그램을 실행하기만 하면 tkinter GUI에서 이미지를 처리할 수 있습니다.

하지만 일부 시스템에서는 C 프로그래밍 언어로 작성된(또는 호환되는) 컴포넌트와 통합할 수 있는 Python의 기능이 중요한 기능입니다. 실제로 대규모 시스템에서 확장 및 인터페이스 언어로서의 Python의 역할은 그 인기의 이유 중 하나이며, 애초에 "스크립팅" 언어라고 불리는 이유이기도 합니다. 다양한 프로그래밍 언어로 작성된 구성 요소를 혼합하는 하이브리드 시스템을 지원합니다. 언어마다 강점이 다르기 때문에 컴포넌트별로 선택해서 사용할 수 있다는 것은 매우 강력한 개념입니다. 유연하고 비교적 사용하기 쉬운 언어 도구가 필요한 곳이라면 어디에서나 원시 속도를 유지하면서 Python을 추가할 수 있습니다.

C 및 C++와 같은 컴파일 언어는 실행 속도에 최적화되어 있지만 개발자, 특히 프로그램을 맞춤화해야 하는 최종 사용자에게는 프로그래밍하기가 복잡합니다. Python은 개발 속도에 최적화되어 있으므로 Python 스크립트를 사용하여 C 또는 C++로 작성된 소프트웨어 구성 요소를 제어하거나 사용자 지정하면 보다 유연한 시스템, 빠른 실행, 빠른 개발 모드를 구현할 수 있습니다. 예를 들어, 순수 Python 프로그램의 일부 컴포넌트를 C로 이동하면 프로그램 성능을 최적화할 수 있습니다. 또한 사용자 지정을 Python 코드에 위임하도록 설계된 시스템은 전체 소스 코드와 함께 제공될 필요가 없으며 최종 사용자가 복잡하거나 독점적인 언어를 배울 필요가 없습니다.

이 책의 마지막 기술 장에서는 C 언어 구성 요소와의 인터페이스를 위한 도구를 간략하게 살펴보고, 다른 시스템에서 임베디드 언어 도구로 사용할 수 있는 Python의 기능과 C 호환 언어로 구현된 새로운 모듈로 Python 스크립트를 확장하기 위한 인터페이스에 대해 설명합니다. 또한 Jython과 같이 C에만 국한되지 않는 다른 통합 기술도 간략하게 살펴볼 것입니다. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

데이터 과학을 위한 통계: 데이터 분석에서 머신러닝까지 50가지 핵심 개념

데이터 과학을 위한 통계: 데이터 분석에서 머신러닝까지 50가지 핵심 개념

이준용, 피터 브루스, 앤드루 브루스

Publisher Resources

ISBN: 9798341656369Supplemental Content