Python Handbook: INTRO

Suhyeon Lee·2024년 9월 9일
0

Python이란?

  • 1991년 귀도 반 로섬(Guido van Rossum)에 의해 개발된 언어
  • 가독성이 높고 문법이 쉬움 (간결하고 직관적인 문법)
  • 다른 프로그래밍 언어(C++, Java 등)보다 빠르게 습득 가능
    • 이 장점 덕분에 프로그래밍을 전공하지 않은 비전공자 중심으로 인기를 얻었음
  • 데이터 분석과 모델링을 다루는 통계학부터 딥러닝과 인공지능을 활용하는 의학에까지 다양한 분야에 두루 활용되고 있음

cf.
Assembly Language

  • First introduced in 1947
  • (almost) one-to-one translation between machine instructions and human-readable keywords
    • 기계어와 일대일 대응하여 사람이 좀 더 쉽게 컴퓨터의 행동을 제어할 수 있게 하는 컴퓨터 프로그래밍 언어
    • 가장 큰 문제: 프로그램이 어떤 식으로 동작하는지 알 수 없어진다

객체지향 프로그래밍 방법

  • 프로그램은 데이터와 알고리즘으로 나누지 않고 하나의 객체로 취급해서 효율적인 일처리 가능
    • 프로그래머가 자기가 필요한 데이터 타입을 스스로 만들 수 있게 함
      e.g.
      축구 게임에서 축구 선수들의 데이터를 다뤄야 할 때:
      1) SoccerPlayer라는 데이터를 만든다 → 뭘 저장해야 되지? → 객체 구성: 선수 이름(name), 몇 골 넣었는지(goals), 어시스트 횟수(assists), … 🡆 이런 것들이 다 데이터가 됨
      2) 적용해야 하는 Operation: 명령어 입력 → 알고리즘 형성 → 축구 선수가 골을 넣을 때마다 골 수를 더 추가, 어시스트 할 때마다 어시스트 추가 등 🡆 이러한 Operation들을 프로그래머가 정의할 수 있게 해주는 것
class complex_number
float real
float imag
operator +()
operator -()
operator *()
operator /()

class SoccerPlayer
string name
int goals
int assists
add_goals()
add_assists()

🡆 이전 프로그래밍 언어 float a1, b1, a2, b2, a3, b3;에서 사용한 float 대신에 complex_number a, b, c; complex number라는 데이터 타입이 있고 a, b, c에서 변수 3개 만들고 c=a+b, c=a-b 이런 식으로 조금 더 쉽게 쓸 수 있게 됨

🡆 코딩이란 컴퓨터한테 명령 입력(예: 1+1)하는 건데 컴퓨터 머릿속에는 1과 더하기는 0과 1로 이루어진 굉장히 복잡한 무언가(컴퓨터는 0과 1밖에 모름)라서 컴퓨터와 사람 사이에 중매체가 하나 필요함(통역관이라고 생각하면 됨) → 통역관이 사용하는 언어 == 프로그래밍 언어, 코딩 == 컴퓨터 전문 번역(통역관이 하는 말이 코딩하는 거)

🡆 기계는 대충 말하면 못 알아먹어

“Python은 가독성이 높고 문법이 쉽다”라는 문장에 증거가 될 사례

→ “Hello, World!” 출력 비교

// Java
package Javatest;
public class HelloWorld{
	public static void main(String args[]){
	System.out.printIn("Hello, World!")
	}
}
// C
#include<studio.h>
void main(){
	print("Hello, World!");
return 0;
}
// C++
#include <iostream>
using namespace std;
int main()
{
	cout<<"Hello, World!\n";
return 0;
}
# Python
print("Hello, World!")

: 다른 언어에서는 최소 4라인에서 7라인까지 코드가 필요하지만 Python은 한 라인만 있으면 됨 (단, 코드가 간단하다고 반드시 그 언어가 가장 좋은 언어인 건 아니고 언어별로 장단점이 있으므로 필요로 하는 언어를 잘 고를 수 있는 능력을 길러야 함)

→ Python은 다른 언어와 달리 변수를 선언(declare)할 필요도 없고, 변수에 오는 값을 입력할 때 데이터 타입을 미리 지정하는 것도 없음

가독성이 좋은 언어를 사용했을 때 이점

  • 일반 독자가 쉽게 읽고 이해할 수 있음
  • 입문하기 쉬움 (코드를 작성하거나 읽기 쉬우니까)

Python에서 더 나아가기

데이터 분석가가 Python을 알아야 하는 이유

  • Python은 다양한 라이브러리를 지원하고 있음
  • 라이브러리를 활용해 입문자부터 전문가까지 다양한 수준의 사용자들이 쉽고 효과적으로 데이터를 탐색할 수 있음
  • 대표적인 라이브러리
    • Pandas: 데이터 조작 및 분석
    • NumPy: 다차원 배열과 행렬 연산
    • Matplotlib, Seaborn: 데이터 시각화
    • Scikit-learn: 머신러닝 알고리즘 제공

데이터 분석가가 Python을 이용했을 때 얻는 이점

  • Python은 다양한 데이터 소스와의 통합이 용이하며, 머신러닝과 같은 고급 분석 기법을 적용하기에도 적합함
    • TensorFlow, PyTorch, Keras 등의 머신러닝 및 딥러닝 라이브러리를 지원하기 때문에 추후 해당 분야까지 쉽게 확장할 수 있음
  • 빅데이터 분석 작업을 수행하기 위한 프로그래밍 언어 중 가장 인기 있음
  • Python은 빅데이터 분석의 기초부터 고급 기법까지 데이터 분석 전 과정에서 중요한 역할을 하고 데이터 과학자와 분석가들에게 널리 사용되고 있으므로 활용 방안이 많음
  • 대량의 데이터를 빠르게 처리할 수 있음
    • 웹사이트의 방문 로그처럼 지속적으로 발생하는 대량의 데이터 분석, 웹에서 크롤링해오는 데이터를 반복적으로 분석해야 할 때 유용
  • 데이터 호환성이 뛰어남
    • 엑셀을 CSV 파일 형태로 불러와 파이썬에서 분석할 수 있고, 파이썬에서 작성한 데이터를 CSV 파일 형태로 공유할 수 도 있음
profile
2 B R 0 2 B

0개의 댓글