✨
PYTHON HAND BOOK
  • Day1. 파이썬 기본 문법
    • 0. 시작하기 전에
      • 개발환경 구축
      • Pycharm 사용법
      • 생각해봅시다 (Mission1)
    • 1. 기본 데이터 유형(numbers, strings, lists, dictionaries)
      • 숫자형(numbers)
      • 문자열과 문자열 연산 (string)
      • 리스트(lists)
      • 튜플(tuple)
      • 딕셔너리(dictionaries)
      • 집합(set)
      • 불(boolean)
    • 2. 기본 제어 구조(if/else, for 루프)
      • 조건문 ( if else )
      • while, for loop 반복
    • 3. 한번 해볼까? (Mission2)
    • 4. 마무리
  • Day2. 파이썬 입출력 및 함수
    • 1. 함수 및 모듈
    • 2. 기본 객체 지향 프로그래밍(클래스, 객체)
    • 3. Quiz quiz~(Mission3)
    • 4. 마무리
  • Day3. 파이썬 활용
    • 1. 예외 처리 (try, except)
      • try except 사용해볼까요?(Mission4)
    • 2. 외부 라이브러리 작업(NumPy, Pandas)
      • Numpy
      • Pandas, DataFrame
      • N,P,D quiz(Mission5)
    • 3. Flask를 사용한 웹 개발 소개
    • 4. 마무리
Powered by GitBook
On this page
  • 예외 처리
  • try, except 문
  • 외부 라이브러리 작업(NumPy, Pandas)
  • Numpy?
  • Pandas?
  • DataFrame
  • Python 개발 모범 사례(PEP 8)

Day3. 파이썬 활용

추가적인 기능에 대하여 알아도록 합니다

예외 처리

코딩을 하다보면 생각하지 못한 여러가지 오류가 발생할 것입니다.

이런 상황에서 에러를 핸들링 하기 위해 파이썬에서 "try", "except문"을 사용 할 수 있습니다.

try, except 문

try:
    ...
except :
    ...

위 경우 에러 종류에 상관없이 에러가 발생하면 except 블록을 수행합니다.

try:
    ...
except 발생오류:
    ...

이 경우에는 정해 놓은 오류와 동일한 오류가 발생 했을 때만 except 블록을 수행하게 됩니다.

try:
    4 / 0
except ZeroDivisionError as e:
    print(e)

# division by zero

위 경우는 오류의 내용까지 알고 싶을때 쓰는 방법 입니다.

에러가 발생하면 "e" 라는 변수에 해당 에러의 종류가 저장되고 이것을 "print()"를 이용해서 출력할 수 있게 만들어 주는 것 입니다.

외부 라이브러리 작업(NumPy, Pandas)

Numpy?

📚 Numpy는 C언어로 구현된 파이썬 라이브러리로써, 고성능의 수치 계산을 위해 제작되었습니다. Numpy는 벡터 및 행렬 연산에 있어서 매우 편리한 기능을 제공합니다.

import numpy as np

# 1차원 배열
vec = np.array([1, 2, 3, 4, 5])
print(vec)

################
[1 2 3 4 5]
################

# 2차원 배열
mat = np.array([[10, 20, 30], [ 60, 70, 80]]) 
print(mat)

################
[[10 20 30]
 [60 70 80]]
################

# 1씩 증가하는 1차원 배열(시작이 0부터)

print(np.arange(10)) 

################ 
[0 1 2 3 4 5 6 7 8 9]
################

# 1씩 증가하는 1차원 배열(시작이 5부터)

print(np.arange(5, 10)) 

################
[5 6 7 8 9]
################

# 영행렬 생성

print(np.zeros((2,2)))  

################
 [[0. 0.]
  [0. 0.]]
################

# 유닛행렬

print(np.ones((2,3)))  

################
 [[1. 1. 1.]
  [1. 1. 1.]]
################

# 모든 원소가 5인 2*3행렬

print(np.full((2,3), 5)) 

################
 [[5 5 5]
  [5 5 5]]
################

# 단위행렬

print(np.eye(3)) 

################
 [[1. 0. 0.]
  [0. 1. 0.]
  [0. 0. 1.]]
################

Pandas?

📚 데이터 처리와 분석을 위한 파이썬 라이브러리로, 대용량의 데이터들을 처리하는데 매우 편리한 특징을 가지고 있습니다

행과 열로 이루어진 데이터 객체를 만들어 다룰 수 있습니다.

Pandas는 총 세가지 데이터 구조를 사용됩니다.

  • Series

  • DataFrame

  • Panel

이 중에서 가장 많이 사용되는 데이터 프레임을 보겠습니다.

DataFrame

  • 데이터 프레임은 2차원 리스트를 매개변수로 전달합니다. 2차원이므로 행방향 인덱스(index)와 열방향 인덱스(column)가 존재합니다. 즉 행과 열을 가지는 자료구조입니다.

values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
index = ['one', 'two', 'three']
columns = ['A', 'B', 'C']

df = pd.DataFrame(values, index=index, columns=columns)

print('데이터프레임 출력 :')

print(df)

데이터프레임 출력 :
A  B  C
one    1  2  3
two    4  5  6
three  7  8  9

외부 데이터를 가지고 데이터 프레임 생성하고 조회하기

"example.csv"의 모습 예시

df = pd.read_csv('example.csv')
print(df)

######################################

   student id      name  score
0        1000     Steve  90.72
1        1001     James  78.09
2        1002    Doyeon  98.43
3        1003      Jane  64.19
4        1004  Pilwoong  81.30
5        1005      Tony  99.14

# 위의 경우 인덱스가 자동으로 부여 됩니다.

print(df.index)

RangeIndex(start=0,stop=6,step=1)

### 데이터 프레임 조회 하기 ###

#앞 부분 2개까지 보기
print(df.head(2))

#########################
   student id      name  score
0        1000     Steve  90.72
1        1001     James  78.09
#########################

# 뒷 부분 4개 까지 보기
print(df.tail(4))

#########################
   student id      name  score
2        1002    Doyeon  98.43
3        1003      Jane  64.19
4        1004  Pilwoong  81.30
5        1005      Tony  99.14
#########################

# 'name'에 해당하는 열을 보기
print(df['name'])

#########################

0    Steve
1    James
2    Doyeon 
3    Jane
4    Pilwoong 
5    Tony 
Name: name, dtype: object
#########################

Flask를 사용한 웹 개발 소개

💡 Flask는 웹사이트의 백엔드 개발을 위해 사용돼요 Flask의 가볍고 , 빠른 속도, 편리한 사용성 때문에 소셜미디어, 온라인 마켓플레이스, 교육 기관에 이르기까지 다양하게 사용 되고 있습니다.

Flask로 구축된 웹사이트

Flask를 사용하고 있는 대기업

Python 개발 모범 사례(PEP 8)

💡 PEP 8은 "Style Guide for Python Code"로 파이썬 코드를 어떻게 구상해야할 지 알려주는 스타일 가이드입니다.

네이밍 스타일 [ 중요!!!! ]

타입
네이밍 컨밴션
예시

Function

소문자 단어를 사용하십시오. 가독성을 높이기 위해 단어를 밑줄로 구분합니다. snake case 라고 합니다.

function, my_function

Variable

소문자 단일 문자, 단어 또는 단어를 사용하세요! 가독성을 높이기 위해 단어를 밑줄로 구분합니다.

x, var, my_variable

Class

각 단어는 대문자로 시작합니다. 밑줄로 단어를 구분하지 마십시오. pascal case 또는 camel case라고 합니다 .

Model, MyClass

Method

소문자 단어를 사용합니다. 가독성을 높이기 위해 단어를 밑줄로 구분합니다.

class_method, method

Constant

대문자 단일 문자, 단어 또는 단어를 사용합니다. 가독성을 높이기 위해 단어를 밑줄로 구분합니다.

CONSTANT, MY_CONSTANT, MY_LONG_CONSTANT

Module

짧은 소문자 단어를 사용 합니다. 가독성을 높이기 위해 단어를 밑줄로 구분합니다.

Package

짧은 소문자 단어를 사용합니다 밑줄로 단어를 구분하지 마십시오.

package, mypackage

PEP 8에 대한 내용은 많기 때문에 이 문서를 참고해서 사용 하시는게 좋습니다.

Black 을 사용하여 코드 스타일 통일하기

📚 Black은 PEP 8을 준수하는 독창적인 포맷터입니다.

Previous4. 마무리Next1. 예외 처리 (try, except)

Last updated 2 years ago

, my_module.py

PEP 8 - Style Guide for Python Code
https://pypi.org/project/black/
module.py