🗄️ 데이터센터
home
주식거래 데이터
home

파이썬은요!

파이썬은 진짜 마법같은 프로그래밍 언어예요! 마치 레고 블록처럼 쉽게 조립할 수 있고, 퍼즐을 맞추듯 재미있게 코딩할 수 있답니다. 왜 전 세계 개발자들이 파이썬을 사랑할까요? 그 이유를 함께 알아보면서, 파이썬이 얼마나 멋지고 실용적인 언어인지 살펴보겠습니다!

파이썬이란?

파이썬(Python)은 1989년 크리스마스 휴가 기간 동안 귀도 반 로섬(Guido van Rossum)이 취미 프로젝트로 시작했어요. 그는 당시 네덜란드 CWI(Centrum Wiskunde & Informatica) 연구소에서 일하고 있었죠.
귀도 형님은 ABC라는 교육용 프로그래밍 언어 프로젝트에 참여한 경험이 있었는데, 이 경험을 바탕으로 ABC의 장점은 살리고 단점은 보완한 새로운 언어를 만들고 싶었답니다. 그는 자신이 좋아하는 코미디 프로그램 '몬티 파이썬의 날아다니는 서커스'에서 영감을 받아 이 언어의 이름을 '파이썬'이라고 지었어요!

파이썬 철학

귀도형님은 파이썬을 설계할 때 몇 가지 중요한 원칙을 세웠어요
누구나 쉽게 배우고 사용할 수 있어야 한다 (초보자 친화적)
코드가 읽기 쉬워야 한다 (가독성 중시)
오픈 소스로 만들어 모든 사람이 자유롭게 사용하고 발전시킬 수 있어야 한다
1991년에 파이썬의 첫 번째 버전이 공개되었고, 이후 전 세계 개발자들의 참여로 점점 더 발전하게 되었어요. 귀도는 2018년까지 파이썬의 '자비로운 종신 독재자(Benevolent Dictator For Life, BDFL)'로서 파이썬의 발전 방향을 이끌었습니다.
2019년 은퇴하고 은퇴생활이 지겨웠던 귀도형님은 마이크로소프트에 입사하여 개발자부서에서 파이썬의 사용성(CPython)을 향상시키는 작업을 진행중입니다.
파이썬의 멋진 철학들은 'The Zen of Python'(파이썬의 선), 일명 '파이썬의 도(道)'라는 이름으로 정리되어 있습니다.
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. 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!
Python
복사
"아름다운 것이 추한 것보다 낫다"와 "단순함이 복잡함보다 낫다"는 원칙을 기반으로, 코드도 예술 작품처럼 아름답게 작성하자는 철학을 가지고 있습니다.
파이썬 철학을 재미있게 실행해 보겠습니다. 파이썬 인터프리터에서 'import this' 주문을 외우면 숨겨진 보물을 발견하는 것처럼 샤라락 나타납니다.(상징성)
import this 는 이렇게 실행합니다. google colab에서 실행해보세요!
google colab은 다른페이지에서 추가 설명 하겠습니다.
import this
Python
복사

프로그램 언어랭킹(파이썬1위)

파이썬은 프로그래밍 세계의 슈퍼스타예요! TIOBE 차트에서 늘 상위권을 달리고 있죠. 파이썬은 지속적으로 상위권을 유지하고 있으며, 특히 데이터 사이언스와 인공지능 분야에서는 압도적인 점유율을 보이고 있습니다. 이러한 인기는 파이썬의 쉬운 문법과 풍부한 라이브러리 생태계, 그리고 광범위한 응용 가능성에 기인합니다.

파이썬으로 할수 있는것

파이썬의 장점들은 너무 많은데요! 사실 지금 그게 중요한게 아닌거 같습니다.파이썬으로 뭘 할 수 있는지 또 뭘 못하는지가 가장 핵심이겠죠?
파이썬은 매우 다재다능한 프로그래밍 언어로, 다양한 분야에서 활용될 수 있습니다. 특히 투자 분야에서는 데이터 분석, 자동화된 트레이딩 시스템 구축, 포트폴리오 최적화 등에 활용됩니다. 또한 웹 개발, 인공지능, 머신러닝, 데이터 시각화 등 광범위한 응용이 가능합니다.
으뜸이네 파이썬 블로그는 현재 업데이트 하고 있지 않습니다.(그래서 홍보아님: 앞으로도 글올리지 않을 예정), 위 링크를 통해 페이지에서 파이썬의 다양한 활용 사례를 살펴보실 수 있습니다. 이를 통해 파이썬의 실제 응용 방법을 이해하는 데 도움이 될 것입니다. 앞으로는 본 페이지에서 게시하는 다양한 사례를 여기에 연결 할 것 입니다.
한때 유튜브 영상도 찍었습니다. 이렇게 참고가 될지 몰랐네요,. 개발했던건 하나씩 연결하겠습니다.

파이썬으로 할 수 없는것

파이썬은 인터프리터 언어예요. 인터프리터 언어란 코드를 한 줄씩 바로바로 실행하는 방식의 프로그래밍 언어를 말합니다. 마치 통역사가 실시간으로 번역하는 것처럼요! 반면에 C++같은 컴파일 언어는 코드 전체를 한번에 기계어로 변환한 후 실행합니다.
이런 방식 때문에 파이썬은 배우기 쉽고 코드를 바로바로 테스트해볼 수 있다는 장점이 있지만, 실행 속도가 느리다는 단점도 있어요. 또 메모리를 많이 사용하고, 여러 작업을 동시에 처리하는 것이 어려우며, 모바일 앱을 만들기도 쉽지 않습니다.
파이썬으로 하기 어려운 것들을 쉽게 설명해드릴게요!
큰 게임 만들기: 마인크래프트나 배틀그라운드 같은 3D 게임은 파이썬으로 만들기가 너무 느려요
휴대폰 앱 만들기: 카카오톡이나 인스타그램 같은 앱을 파이썬으로 직접 만들기는 어려워요
매우 빠른 반응이 필요한 프로그램: 초고속 주식 거래 프로그램처럼 0.001초 단위로 빠르게 움직여야 하는 프로그램은 힘들어요
작은 기기용 프로그램: 스마트워치처럼 메모리가 적은 기기에서 돌아가는 프로그램은 파이썬이 너무 무거워요
하지만! 이런 제한점들도 새로운 기술들이 계속 나오면서 점점 해결되고 있습니다.
최근 파이썬의 성능 향상을 위한 여러 프로젝트들이 활발히 진행되고 있습니다. Mojo(모조)는 새로운 프로그래밍 언어로, 파이썬과 완벽한 호환성을 제공하면서도 C++에 견줄만한 속도를 달성했습니다. Mojo는 파이썬 코드를 그대로 실행할 수 있으며, 필요한 부분만 최적화하여 최대 35,000배까지 성능을 향상시킬 수 있다고 알려져 있습니다.
이 외에도 PyPy, Numba와 같은 JIT(Just-In-Time) 컴파일러들이 있으며, Meta(구 Facebook)의 Cinder는 인스타그램 서버 성능을 약 20% 향상시켰습니다. Python 3.11 버전부터는 '적응형 전문화(Adaptive Specialization)' 기술로 10-60%의 성능 향상을 달성했습니다. 이러한 발전들은 파이썬의 실행 속도 문제를 지속적으로 개선하고 있습니다.
모바일 앱 개발에서도 파이썬의 활용 범위가 넓어지고 있습니다. Kivy 프레임워크를 사용하면 크로스 플랫폼 모바일 앱을 개발할 수 있고, BeeWare를 통해 네이티브 모바일 앱을 만들 수 있습니다. 또한 React Native나 Flutter에서도 Python Bridge를 통해 파이썬 코드를 통합할 수 있는 라이브러리들이 등장하고 있어, 모바일 앱 개발에서도 파이썬의 강력한 기능들을 활용할 수 있게 되었습니다.
제약은 있지만 할 수 없다고 정의하는 것보다 '개선 중'이라고 보는 것이 더 적절합니다. 파이썬은 지속적으로 발전하고 있으며, 새로운 도구와 프레임워크의 등장으로 기존의 한계를 극복해나가고 있습니다. Mojo, PyPy, Numba 등의 혁신적인 솔루션들이 성능 문제를 해결하고 있고, 모바일 개발에서도 Kivy나 BeeWare 같은 도구들이 새로운 가능성을 열어가고 있습니다. 이러한 발전 속도를 고려하면, 현재의 제약사항들은 미래에 충분히 극복될 수 있을 것으로 기대됩니다.

파이썬 누구나 할 수 있다!

파이썬은 정말 누구나 시작할 수 있는 프로그래밍 언어입니다. 배경지식이 없다고 두려워하지 마세요! 우리는 이미 업무 효율을 위해 엑셀, 노코드툴, 자피어, 메이크 등 다양한 도구를 사용하고 있죠. 수많은 업무 효율화 서비스들이 계속 등장하면서 한 가지 확실한 점을 알 수 있습니다. 바로 모든 도구에는 학습 과정이 필요하다는 것이죠! 하지만 파이썬은 이 학습 시간을 획기적으로 줄일 수 있습니다. 지금 바로 1분 파이썬 기초 영상을 보고 정말 쉽다!! 생각하고 지금바로 시작하세요!

파이썬 학습 로드맵

특별히 학습에 로드맵이 필요하다고 생각하지 않습니다. 파이썬을 효율적으로 학습하는 방법은 다양합니다. 모든 길을 미리 정해둘 필요는 없죠.
기초 학습 페이지도 게시하겠지만, 꼭 기초부터 마스터하라고 강요하지 않겠습니다. 대신 여러분의 특정 목표를 달성하는 데 필요한 요소들을 하나씩 연결해드릴 테니 거꾸로 공부해보세요.
예를 들어, 엑셀부가가치세 검증을 하겠다는 목표가 있다면 이렇게 생각해보세요. "이걸 하려면 뭐가 필요하지? 데이터를 읽어와야 하는데, 파이썬으로 어떻게 읽지? 읽어온 데이터는 어떻게 비교하지? 틀린 것만 어떻게 골라내지?" 이런 식으로 접근하는 거예요. 모든 것은 목표에서 시작해서, 그 목표를 이루기 위한 고민과 실천으로 마무리됩니다.
graph TD;
    A["목표 설정"] --> B["필요한 기능 파악"];
    B --> C["세부 단계 나누기"];
    C --> D["파이썬 필수 요소 학습"];
    D --> E["실습 및 테스트"];
    E --> F["목표 달성"];
    
    B --> G["예: 엑셀 데이터 읽기"];
    B --> H["예: 데이터 비교 로직"];
    B --> I["예: 결과 출력"];
    
    G --> D;
    H --> D;
    I --> D;
    
    %% 다이어그램 설명
    %% 목표 중심의 역방향 학습 접근법을 보여주는 플로우차트
Mermaid
복사
다이어그램은 목표 중심의 학습 방법을 보여줍니다. 큰 목표를 작은 단계로 나누고, 각 단계에 필요한 파이썬 요소들을 하나씩 학습하면서 진행하는 방식입니다.

학습컨텐츠 일정

파이썬 기초부터 엑셀 자동화, 부가세 검증 자동화, 그 외 다양한 업무 자동화 콘텐츠와 코드, 프로그램들을 공유할 예정입니다. 앞으로 공유할 파이썬 관련 콘텐츠는 투자와 업무 자동화에만 국한되지 않습니다. 일상에 날개를 달기 위한 목표로 파이썬과 관련된 모든 정보를 공유하겠습니다.
블로그와 스레드에 흩어져 있는 콘텐츠들을 노션 페이지에 정리하여 쉽게 찾아보실 수 있도록 하겠습니다. 다음 글이 올라오기까지 시간이 걸릴 수 있지만, 여러분의 의견을 적극적으로 반영하도록 하겠습니다.
새로운 소식은 스레드에서 알려드리겠습니다