Variables
변수란?
변수는 프로그래밍의 가장 기초적인 문법으로, 데이터를 저장하기 위한 메모리 공간을 의미한다.
var = 4
의 의미는 무엇인가? 단순히 말하면 변수 var
에 값 4
를 입력하라는 의미이다.
이를 엄밀히 말하면, =
이라는 할당연산자에 의해 특정 메모리 공간에 4
를 저장한 것이다.
이 메모리 공간의 주소를 모두 기억하고 사용할 수 없기 때문에, 해당 메모리 주소를 통칭하는 var
라는 변수를 사용하는 것이다.
파이썬은 변수가 선언되는 순간에 OS에 메모리 공간을 요청하고, OS의 처리에 따라 실제 물리적인 메모리 공간을 할당 받는다. 변수는 데이터 타입에 따라 메모리 공간의 크기가 다르다. (ex. int는 4byte, float은 8byte 등)파이썬의 변수는 파이썬의 Naming convention을 따라 Snake case로 선언한다.
List
리스트 객체는 내부에 여러 데이터를 저장할 수 있다. 리스트는 내부의 데이터를 메모리에 저장할 때 순차적으로 저장하는 시퀀스형 데이터이다. 그렇기 때문에 Indexing이나 Slicing으로 내부의 데이터에 접근할 수 있다.
Function and Console I/O
함수란?
함수는 어떤 일을 수행하는 논리적 단위이다. 함수는 parameter의 유무와 return의 유무에 따라 다르게 구분될 수 있다. 함수를 작성할 때에는 console에 출력되는 것인지, return인지에 대해 고려해서 작성해야 한다. 함수를 정의했을 때의 장점은 아래와 같다.
- 반복되는 코드를 줄일 수 있다.
- 코드를 논리적으로 표현할 수 있다.
- 캡슐화로 외부에서는 인터페이스만으로 사용 가능하다.
콘솔 입출력이란?
사용자가 프로그램을 실행할 때 데이터를 어떻게 주고받을 것인지에 대한 물음이다.
파이썬은 input()
함수로 사용자의 입력을 받을 수 있다. 해당 함수가 실행되면, enter
를 칠 때까지 사용자가 키보드로 입력한 값이 전달된다. 이렇게 전달받은 데이터는 str
타입이다.
콘솔에 출력을 할 때에는 사용자가 보기 편하도록 formating을 하는 것이 일반적이다. formating은 아래와 같은 방법이 있다.
- % 기호 사용
- .format() 메서드 사용
- f문자열 사용
Conditionals and Loops
조건문이란?
조건문은 조건에 따른 판단을 하는 부분과 이에 따라 실행되는 부분으로 구성된다. 조건에 대한 참/거짓에 따라 실행이 변하는 것이다.파이썬은 if
, elif
, else
를 통해 조건문을 구성할 수 있다.
반복문이란?
반복문은 반복 조건에 따라 실행부분이 반복적으로 수행되는 것이다.파이썬은 for
와 while
을 통해 반복문을 구성할 수 있다.
String and advanced function concept
문자열 타입이란?
문자열은 리스트처럼 시퀀스형 데이터 타입이다. 그렇기 때문에 마찬가지로 Indexing이나 Slicing으로 데이터에 접근할 수 있다. 문자열은 그 자체로 컴퓨터가 인식 할 수 없기 때문에, 이진수로 변환하여 저장된다. 이와 같은 변환은 표준 규칙을 따라 이루어진다. (ex. ASCII, UTF-8)
함수와 파라미터의 개념
함수의 파라미터에 전달인자를 전달하는 방식은 아래와 같이 구분될 수 있다.
- 값에 의한 호출 : 값만 전달하는 방식
- 참조에 의한 호출 : 메모리 주소를 전달하는 방식
- 객체 참조에 의한 호출 : 객체의 주소를 함수에 전달하는 방식
변수의 범위
변수는 함수 내부에서 쓰이는 '지역변수'와 프로그램 전체에서 쓰이는 '전역변수'로 구분된다. 지역변수는 함수를 벗어나는 순간 파괴되어, 외부에서 사용할 수 없다.
함수내에서 선언된 변수는 전역변수와 이름이 동일하더라도, 지역변수로 취급된다. 전역변수로 사용하기 위해서는 global
로 해당 변수가 전역변수라고 선언해야 한다.
Docstring
Docsting은 함수 아래에 작성하며, 함수의 의도와 목적 등을 서술하는 주석이다. 함수의 재사용성을 높이기 위해서는 이를 잘 작성하는 것이 좋다.
과제
- Text processing
Text processing
set
자료형과replace()
메서드 문자열에서 일부 문자를 삭제하고 반환해야 했다. 나는 삭제할 문자들을list
자료형에 저장하고 반복하며split()
했다가 다시 붙이는 형식으로 구현했다. 다른 분의 코드를 보니, 삭제할 문자들을set
자료형에 저장하고, 문자열을 순회하며set
에 있는 경우 Empty string으로replace()
했다.set
자료형에서 요소를 찾는 것이 상수 시간이라는 것과replace()
메서드의 활용을 배웠다.
re.split()
메서드 정규표현식을 제공하는re
모듈에 있는split()
메서드를 사용하면 여러 조건을 통해 문자열을 분류할 수 있는 것을 알게 되었다.>>> import re >>> input_string = "This is an example." >>> ''.join(re.split('a|e|i|o|u', input_string)) 'Ths s n xmpl.'
개인 학습
- Git
Git이란?
프로그램의 버전을 편리하게 관리 할 수 있는 도구이다. 작업하고 있는 프로젝트에서 원하는 순간으로 돌아갈 수 있는 기능을 제공한다. git은 명령어를 기반으로 한 프로그램으로 많은 개발자들이 통상 터미널에서 사용한다. 나 역시 이와 같이 사용 할 수 있도록 학습 할 예정이다.
Setup
Windows 운영체제라면, 기본적으로 git이 설치되어 있는 cmder
을 사용하기를 권장한다. 다른 터미널을 사용할 예정이라면 홈페이지에서 git
을 다운로드 받으면 되겠다.
Linux 기반 운영체제라면, apt install git
을 통해 설치할 수 있다.
설치된 git
의 설정은 git config --list
를 통해 확인할 수 있다. git
의 설정을 global하게 하기 위해 명령어에 -global
을 추가할 수 있다.
기본적으로 user.name
과 user.email
을 설정할 수 있다. git config --global user.name "LeeHyeonKyu"
와 같이 email도 설정해줄 수 있다.
git config --global -e
명령어를 통해 Editor mode로 global 설정을 편집할 수 있다. 만약 Editor를 VSCode
로 설정하고 싶다면, git config --global core.editor "code"
명령어를 입력하기 바란다.
Git command and option
앞서 말했다시피 git은 명령어 기반 프로그램이고, 터미널에서 이를 사용하기 위해선 명령어와 옵션에 대해 배워야 한다. git config --list
역시 config
라는 명령어와 -list
라는 옵션으로 이루어져 있다.
명령어에 따른 옵션을 확인하고 싶을 때에는 h
옵션을 추가하여 도움말을 확인할 수 있다.
git init
은 해당 git repository를 구현한 것처럼 초기화 하는 명령어이다. 이렇게 초기화하면 해당 디렉토리는 git project가 되고, main branch가 생성된다. (.git 디렉토리를 삭제하면 해당 디렉토리는 더 이상 git project가 아니게 된다.)
git status
는 해당 프로젝트의 상태를 확인할 수 있는 명령어이다.
git diff
는 tracking하고 있는 파일이 변경된 점을 확인할 수 있는 명령어이다.
Git workflow
git은 작업환경은 3가지로 분류할 수 있다.
working directory
는 우리가 파일을 작업하는 공간이다. 이 공간에서 파일의 상태는 tracked 혹은 untracked 상태이다. git이 파일을 tracking할 수 있도록 add
명령어를 사용할 수 있고, 이를 통해 파일은 staging area
로 넘어갈 수 있다. tracking하고 있는 파일에 변경이 가해지면, modified 상태가 되며, 해당 파일은 다시 add
함으로써 staging area
로 넘길 수 있다. 반대로, git repository
에 저장되어 있는 history를 checkout
하여 원하는 버전으로 돌아갈 수도 있다.
staging area
는 프로젝트 내에 tracked되고 있으며 unmodified상태의 파일들이 위치하는 공간이다. commit
명령어를 통해 해당 파일들을 git repository
에 저장시킬 수 있다. 현재의 상태는 cache로 저장되어 있기 때문에, cache를 지우면 해당 파일들은 working directory
에 있는 것과 동일한 상태로 되돌릴 수 있다. 모든 commit
시에는 각각의 고유한 hash code가 부여되고, 당시의 상태를 snapshot으로 저장한다.
git repository
작업이 완료된 파일들이 commit
되어 history와 함께 저장되는 공간이다. commit
명령어를 통해 local repository는 변경되나, remote repository에도 이를 적용하기 위해선 push
명령어를 사용해야 한다. 반대로, remote repository로 부터 local에 다운로드 하기 위해선 pull
명령어를 사용하면 된다.
'네이버 부스트캠프 AI Tech' 카테고리의 다른 글
[U] Day 05 - 파이썬으로 데이터 다루기 (0) | 2021.03.25 |
---|---|
[U] Day 04 - 파이썬 기초 문법 III (0) | 2021.03.25 |
[U] Day 03 - 파이썬 기초 문법 II (0) | 2021.03.25 |
[U] Day 01 - 파이썬 / AI 개발환경 준비하기 (0) | 2021.03.25 |
[네이버 부스트캠프 AI Tech] 지원부터 선발까지 (0) | 2021.01.16 |
Uploaded by Notion2Tistory v1.1.0