[DAY2] 학습 정리 및 회고

색인
1. 학습 구성
2. 피어 세션
3. 검토


학습 세트

2~3. 파이썬 기본 구문 나는 나


– 조건문

  • 조건에 따라 특정 동작을 수행하는 명령
  • 상태를 나타냅니다 기본그리고 걸어야 한다 명령구성
  • if, elif, else 사용
if 조건:
	수행 명령
elif 조건2:
	수행 명령 2
else:
	수행 명령 3

– == vs는 연산자입니다.

  • Python에서는 -5에서 256까지의 숫자에 동일한 메모리 주소가 할당되므로 ==와 is는 모두 true입니다.

  • a = -6, b = -6이면 a의 결과는 b가 False입니다.

– 논리 연산자

  • 그리고, 또는
  • 목록: 모두, 임의

– 삼항 연산자

  • 조건문을 사용하여 참 또는 거짓 진술을 한 줄에 표현
참일때결과 if 조건문 else 거짓일때결과

– 반복문

  • 특정 동작을 반복하는 명령어
  • 시작 조건, 종료 조건, 반복 실행 명령구성
  • 와 동안

– 설명을 위해

  • 담당자 범위지정하여 수행
  • 사용 범위()
  • 문자열은 목록으로 문자별로 처리할 수 있습니다 → 데이터 유형 Sequence

+) 상식

  • 대부분의 반복 변수는 i, j 및 k로 설정됩니다.

  • 반복은 0부터 시작하는 것이 좋습니다.

  • 무한 루프를 조심하세요

– while 문

  • 조건이 충족되는 한 Repeat 문을 실행합니다.

– For 문 대 While 문

  • for: 반복 횟수가 명확하게 알려진 경우
  • while: 반복 횟수가 불분명한 경우
  • for 문은 while 문으로 바뀔 수 있습니다.

– 반복 제어

  • break: 특정 조건에서 반복을 종료합니다.

  • 계속: 특정 조건에서 나머지 반복 명령 건너뛰기
  • else: 반복 조건이 만족되지 않으면 반복 종료 시 한 번만 실행

– 디버깅

  • 코드에서 오류를 찾고 수정하는 프로세스
  • 구문 오류 → 오류 메시지 분석
  • 논리적 오류 → 테스트

– 선

  • 시퀀스 데이터 유형으로 메모리에 문자 저장
  • 문자 단위로 1바이트 메모리 할당

– 1바이트

  • 1비트 = 0 또는 1
  • 1바이트 = 8비트 = \(2^{8}\) = 256
  • 단일 문자가 단일 숫자로 변환됩니다.

  • 이진수를 문자로 변환하는 표준 규칙 → UTF-8 (마지막 사용)

– 데이터 형식

  • 타입별로 할당된 메모리의 크기가 다름 (int → \(2^{32}\), (-\(2^{31}\) ~ \(2^{32}\) -1) / float → \(2^{64}\))
  • 표시할 수 있는 숫자의 범위는 저장 위치에 따라 다릅니다.

– 문자열의 속성

  • 목록과 유사한 속성(인덱싱, 슬라이싱, 작업 등)이 있습니다.

  • 문자열은 큰따옴표(“”) 또는 작은따옴표(”)로 선언됩니다.

  • 원시 문자열: 특수 \ 문자를 무시하고 있는 그대로 출력

– 객체 참조에 의한 호출

  • Python에서 사용되는 매개 변수를 전달하는 방법
  • 함수에 전달된 객체의 주소
  • 함수 내에서 값을 변경하면 호출자에게 영향을 주지만 새 객체를 생성하면 연결이 끊어지기 때문에 호출자에게 영향을 주지 않습니다.

+) 함수 호출 방식

  1. Call by Value: 값만 전달, 함수 내에서 값을 변경해도 호출자에게 영향을 주지 않음
  2. 참조에 의한 호출: 메모리 주소(C 언어의 포인터 개념)를 전달할 때 함수 내에서 값을 변경하면 호출자의 값도 변경됩니다.

  3. 객체 참조에 의한 호출

– 변수 범위(범위 규칙)

  • 지역 변수: 함수 내에서만 사용
  • 전역 변수: 프로그램 전체에서 사용
  • 함수 내에서 전역 변수를 사용하는 경우, 글로벌 키워드를 사용

– 재귀 함수

  • 자신을 호출하는 함수
  • 종료 조건 존재 → 종료 조건까지 함수 호출 반복

– 함수 유형에 대한 참고 사항

  • Python은 동적 입력을 지원하기 때문에 사용자가 사용자 인터페이스를 알기 어렵습니다.

  • PEP 484 기반의 타입 힌트 제공
def do_function(var_name: var_type) -> return_type:
	pass
  • 함수가 문서화되어 있으면 매개변수에 대한 정보를 알 수 있습니다.

  • 시스템 안정성 보장

– 독스트링

  • 함수 사양 작성
  • 함수 이름 아래에 ”’ 설명 ”’ 또는 “”” 설명 “””을 작성합니다.

  • 함수 설명, 매개변수 설명, 반환 값 설명, 예제 등 작성

– 쓰기 기능

  • 가능한 한 짧게 여러 개 작성
  • 함수명은 함수의 역할을 드러내는 것이 좋다 → V_O 형식으로 작성
  • 자주 사용하는 코드, 복잡한 수식, 복잡한 조건을 함수로 변환

4. 객체지향 파이썬 프로그래밍

피어 세션

팀에서 매일 하기로 한 기술 용어를 설명하기 시작했습니다.

매일 배운 내용을 바탕으로 키워드를 뽑고 개념을 간략하게 설명하는 내용인데 나중에 면접을 생각할 때 유용한 시간이 될 것 같습니다.

개념을 알고 있어도 말로 설명하는 것이 생각보다 어렵기 때문에 연습하기도 좋고 헷갈리는 개념을 정리하기도 좋습니다.

남은 피어 세션 시간에는 “peer session writes peer”를 위해 함께 ppt를 만들었습니다.

함께 일하면서 즐거운 시간이었습니다.

검토

기본적으로 밤이나 새벽에 활동을 자주 하고 늦게 자고 늦게 일어나는 습관이라 이 부분이 가장 힘듭니다.

게다가 집에서 공부하는 것보다 더 힘든 것 같다.

이제 막 시작이라 강의를 많이 하는 중이라 코딩할 때 깨어있는 게 편할 것 같은데 혼자 강의를 들으면서 어색해요. 다른 분들은 이미 강의도 많이 듣고 과제도 하고 있는 것 같고… (이 글을 쓰는 지금도 새벽이라는 사실) 온보딩을 통해 차기 기수들에게 최대한 많은 강의를 들으라고 권한다.

공부한 시간 + 배움을 정리하는 시간 때문에 생각보다 시간이 더 필요하다고 느꼈습니다.

무엇보다 공부를 정리하는 데 남몰래 많은 시간을 보낸다.

강의 듣는 시간과 정리하는 시간이 같아서 배보다 배꼽이 더 큰 느낌… 예전에 최대한 깔끔하게 정리한거 같은데 더 중요한것 위주로 정리하겠습니다.

본 포스팅 내용은 “네이버 부스트캠프 AI Tech 5기” 강의를 요약한 것입니다.