[부스트캠프 AI Tech 5기] WEEK 01

jeongjeong2·2023년 3월 23일
0

NAVER Boost camp

목록 보기
2/5

피어세션

  • 매일 같은 시간에 모여서 몰랐던 부분 질문하고, 공부할 분량 정하고, 대화하는 시간인 것 같다. 빨리 친해졌으면 좋겠다는 생각이 들었다.

코테 스터디

  1. 덧칠하기 : 풀이 정리
  2. 혼자서 하는 틱택토 : 풀이 정리
  3. 미로 탈출 : 풀이 정리

강의 복습

python 3강

Collections module : python Built-in 확장 자료 구조

  • deque : popleft, appendleft를 지원 , rotate, reverse 등 linked list의 특성을 지원한다. extendleft로 한번에 여러값 (list형 구조) 도 attendleft가능
  • Counter : sequence type data의 element 개수를 dict 형태로 반환, set의 연산도 모두 지원한다.

pythonic code : for loop 사용을 지양하고 한 줄에 끝내는 것

  • .split() / .join() : 기준으로 문자열 구분 / 하나의 string으로 반환
  • list comprehension : ex) [i+j for i in A for j in B if not (i==j)]
  • enumerate : list의 element를 추출할 때 index도 함께 추출 가능
  • zip : 두 개의 list의 값을 병렬적으로 추출 ex) for a,b in zip(A,B)
  • lambda : f = lambda x,y : x+y 식으로 함수를 스스로 정의할 수 있음
  • map :

generator : element가 사용되는 시점의 값을 메모리에 반환하므로 memory사용량을 확연히 줄일 수 있다. generator comprehension (generator expression)으로 불리며 ()를 사용하여 표현

function passing arguments

  • Keyword arguments : 변수 명과 함께 적어주며 대입
  • Default arguments : 적어주지 않은 경우 def에서 정의된 default값 이용
  • Variable-length arguments : 함수의 parameter가 명확히 정의되지 않은 경우, 가변 인자를 사용. Asterisk(*)를 사용하여 parameter를 표시한다. 입력 값은 tuple type으로만 사용한다. kwargs는 dict type으로 입력,
    ex)
def asterisk_test(a,b,*args,**kwargs):
	return a+b+sum(args)

python 4강

OOP : Objected-Oriented Programming

  • Class, instance로 나뉜다
  • Class 내에는 여러 함수가 정의, init(객체 초기화 함수)으로 self.변수 = 입력값으로 정의
  • 는 특수한 예약함수, 변수, mangling으로 사용
    ex)
    main, add, str(객체에 대해 자동으로 print하는), eq__
  • class 내 method(함수) 추가는 기존 함수와 같지만 반드시 변수에 self를 추가해서 class함수로 인지시켜야한다.

OOP characteristics

  • inheritance : 부모 클래스로부터 속성과 method(funciton)을 물려받은 자식 클래스를 생성, Class명을 생성하고 인자로 부모 클래스 명을 대입
class Person(object):
	def abcd():~~~
class Korean(Person): # Person class를 부모 class로 그 속성, Method를 그대로 가져온다.
	def abcd():
		super().abcd() # 부모 클래스 함수 재정의 이 때 super()로 가져온다
		pass
  • polymorphism : 같은 이름의 method지만 내부 로직을 다르게 작성
  • visibility : 객체의 정보를 볼 수 있는 레벨을 조절, 공개 범위를 조작하는 것이라고 생각하면 됨. self.items에서 self.__items로 설정하면 타객체가 접근 못함.

module & package

  • package(project) = group of modules
  • moudle : .py 파일을 의미, import를 이용해서 같은 폴더 내의 moduel을 호출
    이 때 모든 module을 부르기 보다 해당 .py 내에 있는 일부 함수만 호출할 수 있다.
    ex) from module_name import function
    Alias설정도 가능 ex) import numpy as np, import pandas as pd
  • Built-in modules : import random, import time, import urllib.request ...
  • package : init, main 등 키워드 파일명이 사용되고, 다양한 모듈들의 합, 폴더로 연결된다.

가상환경 설정

  • 프로젝트 진행 시 필요한 패키지만 설치하는 환경
  • conda create -n name python=version

python 5강

예외처리

  • try~except :
    try: 예외 발생 가능 코드 , except < Exception Type >: 예외 발생시 대응하는 코드

정규표현식

  • 특정 규칙 및 복잡한 문자열 패턴을 정의하는 집합을 표현하고 추출할 때 사용 >> 그냥 그 때 그 때 서치해서 사용하기 ^0^

python 6강(numpy), 7강(pandas) , AI math는 노트에 정리

회고

  • 첫 주여서 어영부영 넘어간 감이 없지 않아 있다. 모르는 것은 너무 너무 많고, 배워야할 것은 더 많은 것 같다. 심화과제 복습도 철저히하면서 특히 코드 공부, 알고리즘 공부의 중요성을 깨닫고 있다. 회고도 어영부영 적었지만 점점 체계적으로 적을 수 있길..

0개의 댓글