8일차,,✔

list, Dictionary의 함수

map(func,list1,list2)

  • list의 요소를 지정된 function으로 처리해주는 함수

filter(func,list1)

  • list에서 function의 결과가 True 인 것만 요소만 추출하는 함수

enumerate(list1)

  • list의 요소에 번호를 붙여서 추출하는 함수

    • 추출하는 값은 튜플을 원소로 담긴다 ex) (1,a)

zip(list1,list2)

  • 둘 이상의 리스트를 병렬적으로 추출함

dict()

  • list나 tuple을 dictionary 타입으로 바꾸는 함수

    • dict(zip(list1,list2))

    • dict(key1=value1, key2=value2)

    • dict([(key1,val1),(key2,val2)])

    • dict({key1:val1, key2:val2})

reduce(func,iterable,initial)

  • 반복 가능한 객체의 각 요소를 지정된 함수로 처리한 뒤, 이전 결과와 누적해서 반환

  • 내장 함수가 아니기 때문에 호출 해야함

     from functools import reduce
      arr=[[x] for x in range(5)]
      array = reduce(lambda x,y:x+y,arr)
      print(array)
     <출력>
     [0,1,2,3,4]



하지만 ... Python은 함수형 언어가 아니다😮



Module

이미 만들어진 파이썬 소스파일(library)

  • 파이썬은 모듈을 만들기 위한 추가 과정은 불필요

  • 소스파일을 모듈로 사용

  • 재사용성을 위해

  • 모듈은 파이썬 언어로 쓰여진 py확장자 소스파일만 이용가능

<굳이 모듈 생성>

!pip install beautifulsoup4
!pip install selenium

import sys ###환경변수 생성
sys.path

from google.colab import drive ###드라이브와 코랩 연동

%%writefile /content/gdrive/.../my_module.py ###모듈 생성!

def my_func():
	print("hello world")
from my_module import my_func ###모듈 내 함수 호출
my_func()
     <출력>
     hello world



import

  • from A import B

    • A모듈로부터 B함수를 호출
  • from A import *

    • A모듈 내의 모든 것을 호출
  • import A

    • A모듈을 호출

에러 처리 방식

1. LBYL(Look Before You Leap)

  • 뛰기 전에 확인해라 : 에러가 나기 전에 잘 처리해라
  • 코드 실행 전에 예외 발생 없게 미리 검증하고 실행
  • 발생할 수 있는 모든 예외 상황 예측
  • 현실적으로 불가능
    • 완벽하게 예외 예측, 전부 처리
    • 이게 가능하면,,

2. EAFP(It's Easier Ask Forgiveness Than Permission)

  • 허락보다 용서가 쉽다
  • 일단 코드를 실행하고, 예외 발생하면 그때 처리
  • python표준에서는 이 방법을 권장

예외 처리 종류

좋은 웹페이지 즐겨찾기