복습 - Python 기초

minjoo·2022년 7월 10일
0

플레이데이터

목록 보기
1/6

하반기에는 플레이데이터의 빅데이터 부트캠프 12기에 참여하게 되었다. 배운 내용을 수시로 정리해 보려고 한다.

첫 주에는 Python의 기초 부분을 주로 배웠다. Google Colaboratory를 이용하여, 데이터 분석에 주로 필요한 부분 위주로 공부하였다. 다양한 배경의 의욕 넘치는 동기 분들이 수업을 더 풍성하게 만들어 주셔서 감사했다.

월요일 - 2022.07.04

배운 것

수업 진행 방식 안내, 선생님 소개, Google Colaboratory 개발 환경 설정

Python 기초 문법 및 기초 사항

  • 인터프리터, 자료형, 연산, 타입변환, 메모리, 변수, 인덱싱과 슬라이싱 등
  • 자료형: 숫자(int/float), bool(True/False), string, 시퀀스 타입
  • 시퀀스 타입: list, tuple, range
  • 이스케이프 문자 \n, \t 등

기억할 것

  • 컴퓨터 및 언어에 대한 이해:
    램에 공간을 만들고, 그 공간에 정수, 실수, 문자 등의 값을 넣는 것. 이후 상당수의 개념을 이러한 이해를 기반으로 설명함.
  • 슬라이싱:
    arr[시작인덱스 : 끝인덱스+1 : step(n개 건너뛰어 짚기)]

화요일 - 2022.07.10

배운 것

자료형, 복사(얕은복사/깊은복사), 제어문(반복문, 조건문)

기억할 것

  • 매핑형 타입: dict가 대표적.
    dict를 만든 뒤, Python이 dict의 key값에 해시값을 부여하고, 해시값을 램 공간에 부여함. 이후 key값으로 value를 찾을 때 Python은 key별 해시값으로 value를 찾음.

  • 기본자료형: 데이터 값 자체를 저장하는 형태

    • 원본 혹은 사본이 변형되어도 다른 한쪽이 변형되지 않음
    • ex) bool, char, int 등
  • 참조자료형 : 각자 독자적 값을 갖는 것이 아닌, 참조(reference) 주소를 공유하는 것

    • 한 쪽이 변형되면 다른 한 쪽도 변형됨
    • ex) list(array), class 등
  • Shallow Copy (얕은복사)

    • 기본형이 아닌 자료들은 참조주소값을 복사하는 것
    • 변수명이 달라도 id값은 같음
    • a(원본) = b(사본) Shallow Copy 시, b가 바뀌면 a도 바뀜. 둘은 같은 id에 있으니까.
    • Python은 기본적으로 Shallow Copy를 지원하나, 몇몇 특정 형태의 자료 및 자료형의 경우 Python에서 자체적으로 고정된 id를 부여하기 때문에 일반적이지 않은 결과를 도출하기도 한다.
  • Deep Copy (깊은복사)

    • 객체가 가진 모든 멤버를 복사
    • 참조자료형을 복사하는 경우, 참조주소(reference)가 아니라 객체 자체가 복사됨(또다른 주소에 새로 만들어짐)
    • 따라서 한 쪽의 변형에 영향받지 않음. a(원본) = b(사본) Deep Copy 시, b가 바뀌어도 a는 그대로임.
    • Python을 통해 데이터 분석을 진행하는 패키지들은 원본 데이터 보존을 위해 Deep Copy를 지원함.

수요일 - 2022.07.06

배운 것

논리연산자, 조건문 if, 반복문 while

기억할 것

  • while문 현명하게 쓰는 법
    • while은 무한 반복을 위한 명령어이다. (while = True가 무한 반복을 시작시키는 구문.)
    • 무한 출력에 당황하지 않으려면 반복이 언젠가 멈출 수 있는 조건을 while 이후 넣어야 한다.
    • 해당 블록까지만 진행하고 멈추는 명령어 break, 해당 블록을 1회 진행한 뒤 while로 되돌아가는 명령어 continue를 적극 활용한다.
    • Python은 들여쓰기 단위로 블록을 구분하여 명령어를 실행한다.
    • 상황 시작용 초기설정(예: i = 1)은 while문 밖, 종료 조건은 while문 안에 넣는다.
    • 초기값 -> while (조건): -> 조건을 만족시키게 할 실행문 형태

목요일 - 2022.07.07

배운 것

while문 활용 연습, 반복문 for
for문 + range 등의 패턴 익히기

인상적인 코드

https://blog.naver.com/jeongbeom98/222803324458

점심시간 밥친구 조 짜는 코드를 지금까지 배운 것을 이용하여 만들어주셨다. 감사합니다...!!

기억할 것

  • for문 기본 형태
    • for 변수 in 이터레이블: -> for 블록
  • 많이 연습하고, 에러메시지 두려워하지 말고, 주어진 여건을 for문으로 자주 바꾸어 보기.

금요일 - 2022.07.08

배운 것

반복문 for/while 활용, dict + for문 등 패턴
비교 연산자, 논리 연산자
문자열 메소드 - split

인상적인 코드

  • while문 중첩하여 구구단 만들기
i = 2
while 2 <= i <= 9:
    n = 1
    while 1 <= n <= 9:
        print(i, 'X', n, '=',(i*n))
        n = n + 1
    i = i + 1

기억할 것

  • == 연산자: 양측의 값과 자료형이 같은지 판단
    is 연산자: 양측의 id값이 같은지 판단
  • 반복문 -> 반복 연습 필요
profile
데이터 만지는 개발자를 향하여

0개의 댓글