기본적인 설치
파이썬(Python) 설치
Welcome to Python.org
The official home of the Python Programming Language
www.python.org
맥과 윈도우 모두 위 사이트에서 파이썬을 설치할 수 있다.
아나콘다(Anaconda) 설치
Anaconda | The Operating System for AI
Democratize AI innovation with the world’s most trusted open ecosystem for data science and AI development.
www.anaconda.com
아나콘다는 위 사이트에서 설치할 수 있는데, 맥과 윈도우 각각 자신에게 맞는 것을 선택하여 설치하면 된다.
위 사진에서 초록색 버튼(Download for Mac)을 누르게 되면
- Download for Intel
- Download for Apple Silicon
두 종류가 있는데, 만약 M1/M2/M3 칩을 사용하고 있다면 Download for Apple Silicon을 눌러 설치하고,
Intel 칩을 사용하고 있다면 Download for Intel을 눌러 설치하면 되는 것 같다.
에디터(Editor) 설치
- Visual Studio Code
- IntelliJ
- Vim
- PyCharm
- ...
에디터의 종류는 위와 같이 다양하지만, 수업에서는 현재 가장 많이 쓰이고 있는 Visual Studio Code를 설치하였다.
https://code.visualstudio.com/
Visual Studio Code - Code Editing. Redefined
Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
code.visualstudio.com
자신의 운영체제에 맞게 Download 버튼이 나오는 것 같고, 설치를 진행해주면 된다.
설치 부가사항
Everything
무조건적으로 설치해야 하는 것은 아니지만, 설치하면 편한 것들이다.
https://www.voidtools.com/ko-kr/
voidtools
www.voidtools.com
위 설치사항은 맥(M1/M2/M3)를 위한 버전은 없고, 윈도우에서는 설치하여 사용할 수 있다.
Everything은 파일 이름으로 파일과 폴더를 실시간으로 찾아주는 윈도 검색 엔진이다.
맥에서 Everything과 같은 검색 엔진을 찾아보았는데, Alfred 정도로 사용할 수 있을 것 같아보였다.
Alfred - Productivity App for macOS
Control Your Music You're the boss. Boost your productivity by controlling your Mac using Alfred's deep integration with macOS. Swiftly take action on files and contacts, control your music player and dispatch System commands. Add some fun to your day; Tur
www.alfredapp.com
Visual Studio Code 설정
자동 저장 기능 켜기
1. VS Code에서 ctrl + , / command + , 를 누르게 되면 설정 탭이 열리게 된다.
2. Auto Save를 검색하면 Auto Save 기능을 키는 체크박스가 있는데, 그 체크박스를 눌러 활성화 시키면 된다.
3. Files: Auto Save를 눌러 afterDelay로 설정해주면 끝 !
Format On Save 설정 켜기
위와 같은 방법으로 설정 탭을 열고 설정 탭에서 Format On Save를 검색하여 체크박스를 눌러 활성화 시키면 된다.
Extension 설치
Black Formatter
코드 포매터의 느낌으로 Python을 위해 만들어진 확장같다.
널리 알려진 Prettier의 느낌인 것 같다.
왼쪽 탭의 Extension에 들어간 뒤, black foramtter를 검색하고 Black Formatter를 설치해주면 된다.
autoDocstring - Python Docstring Generator
빠르게 python의 함수, 클래스, 메서드 등을 빠르게 생성해주는 확장인 것 같다.
Material Theme / Material Icon Theme
Material Theme는 다양한 테마를 선택할 수 있는 확장이다.
Material Icon Theme는 설치하라고는 안하셨지만 나는 꾸미는 걸 좋아하는 사람으로서 부가적으로 넣어보았다. 😃😃😃
Material Theme와 Material Icon Theme를 적용하고 나면 아래 사진과 같이 이쁘게(?) 적용된 것을 볼 수 있다.
확장 설치 확인
이렇게 확장 탭에 들어간 뒤 검색에 아무것도 타이핑 되어있지 않으면 설치된 확장을 볼 수 있는데,
강사님께서 설치하라고 하신 autoDocstring - Python Docstring Generator와 Black Formatter가 위와 같이 보이면 성공적으로 설치 된 것이다.
추가 Tip
Cheat Sheet / Document
만약, VS Code 단축키 요약정리를 보고 싶다면,
VS Code cheat sheet를 검색하게 되면 VS Code의 단축키가 정리된 공식 사이트를 찾을 수 있다.
윈도우용 : https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
맥용 : https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
이외에도 다른 정리된 공식 사이트를 찾고 싶다면, (궁금한 것) cheat sheet를 검색하여 찾아볼 수 있다.
Document
공식문서를 찾고 싶다면, (궁금한 것) Document와 같이 검색하여 찾아 볼 수 있다.
예를 들어, 파이썬 공식 문서가 궁금하다면, python document를 검색하게 되면 파이썬 공식 문서가 나오게 된다.
강사님께서 말씀하신, 이렇게 직접 cheat sheet와 document를 검색하여 찾아보는 이유는 ❗️직접 눈(이미지)으로 봄으로써 가장 효율적이고 가장 기억에 오래 남기 때문❗️이라고 하셨다.
알면 좋은 VS Code 단축키
단축키 | 기능 | 비고 |
ctrl(command) + / | 주석 | |
ctrl(command) + shift + p | 설정 탭 열기 | |
ctrl(command) + p | 파일 불러오기 | |
ctrl(command) + o | 폴더 불러오기 | |
ctrl(command) + j | 터미널 열기/닫기 | |
ctrl(command) + b | 왼쪽 탭 열기/닫기 | |
ctrl(command) + shift + x | 확장 탭 열기 | |
alt(option) + shift + ⬇️ / ⬆️ | 위 / 아래로 한줄 복사 | |
alt(option) + shift + f | 포맷팅하기 | black foramtter과 같은 확장 필요 |
경로
경로 구분 문자열
윈도우에서의 경로 구분 문자열은 \이고, 맥/리눅스에서의 경로 구분 문자열은 /이다.
그렇다면, 윈도우와 맥/리눅스의 경로를 한번에 처리하려면 따로따로 설정해주어야 하는걸까 ?
이에 대한 정답은"따로 설정해주지 않아도 된다"이다.
그 이유로는 path 관련해서 pathlib 라이브러리가 있는데, 이를 사용해서 처리하면 된다.
명령어
명령어 | 의미 | 비고 |
cd .. | 바로 상위 디렉토리로 이동 | ..은 상위 디렉토리를 의미 |
cd . | 현재 디렉토리로 이동 | .은 현재 디렉토리를 의미 |
cd ~ | 홈 디렉토리로 이동 | ~은 홈 디렉토리를 의미 |
cd / | 루트 경로 최상단으로 이동 | /은 루트 경로 최상단을 의미 |
자주 쓰는 파이썬 용어들
표현식
어떠한 값을 만들어 내는 간단한 코드를 표현식이라 한다.
예를 들어, 10 + 10이 표현식에 해당된다.
키워드
특별한 의미가 부여된 단어를 키워드라고 한다.
키워드의 종류에는 True, False, None, if, is, ... 등이 있다.
다른 모든 키워드의 종류를 확인하려면 아래의 링크를 통해 확인할 수 있다.
https://www.w3schools.com/python/python_ref_keywords.asp
Python Keywords
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
식별자
프로그래밍 언어에서 이름을 붙일 때 사용하는 단어를 식별자라고 한다.
식별자를 만들 때, 아래와 같은 규칙을 지켜야 한다.
- 키워드를 사용하면 안 된다.
- 특수 문자는 _만 허용된다.
- 숫자로 시작 불가하다.
- 공백을 포함하면 안된다.
케이스
케이스의 종류에는 스네이크 케이스(snake case), 캐멀 케이스(camel case), 파스칼 케이스(pascal case) 등이 있다.
보통 클래스에는 캐멀 케이스(camel case)가 사용되고, 함수 및 변수에는 스네이크 케이스(snake case)가 사용된다.
자료형
기본 자료형
종류 | 예시 |
문자열(string) | "Hello", "안녕하세요" |
숫자(number) | 123, 10000 |
불(boolean) | True, False |
자료의 형식을 확인하기 위해서는 type() 함수를 사용하면 된다.
문자열
이스케이프 문자
종류 | 의미 | 비고 |
\\ | 백슬래시 | |
\n | 개행 문자 | 줄바꿈을 의미 |
\t | 탭 문자 | 탭을 의미 |
\' | 작은 따옴표 | 작은 따옴표 안에서 작은 따옴표를 사용하고 싶을 때 주로 사용 |
\" | 큰 따옴표 | 큰 따옴표 안에서 큰 따옴표를 사용하고 싶을 때 주로 사용 |
r | raw string | 뒤에 나오는 문자열에서 \가 이스케이프 문자로 해석되는 것을 방지 |
Q1) 윈도우에서 C:\Users\USER\Desktop 경로를 출력하고 싶다면 어떻게 해야될까 ?
A1-1) print("C:\\Users\\USER\\Desktop")와 같이 사용하면 된다.
A1-2) print(r"C:\Users\USER\Desktop")와 같이 사용하면 된다.
Q2) 여러 줄로 된 문자열을 만들고 싶을 때 \n 개행 문자를 사용하지 않는 다른 방법이 있을까 ?
A2) 아래와 같이 """ """을 사용하면 여러 줄로 된 문자열을 만들 수 있다.
⬇️⬇️⬇️ 위 코드 실행 결과 ⬇️⬇️⬇️
인덱싱(indexing)
무언가를 가리킨다는 뜻으로 연속적인 객체(리스트, 튜플, 문자열)에 부여된 번호를 의미한다.
원하는 값을 가리킬 때 인덱싱을 사용한다.
위와 같은 코드가 있을 때,
"안"을 출력하고 싶다면, print(a[0])를 해주면 된다.
"녕"을 출력하고 싶다면, print(a[1])를 해주면 된다.
"하"를 출력하고 싶다면, print(a[2])를 해주면 된다.
"세"를 출력하고 싶다면, print(a[3])를 해주면 된다.
"요"를 출력하고 싶다면, print(a[4])를 해주면 된다.
Q1) "안녕"을 출력하고 싶다면 어떻게 해야될까 ?
A1-1) print(a[0:2])를 해주면 된다.
A1-2) print(a[:2])를 해주면 된다.
A1-3) print(a[-5:-3])를 해주면 된다.
따라서, 위를 정리해보면 아래와 같다.
1)
문자 | 안 | 녕 | 하 | 세 | 요 |
인덱싱 번호1 | 0 | 1 | 2 | 3 | 4 |
인덱싱 번호2 | -5 | -4 | -3 | -2 | -1 |
2)
위처럼 코드를 작성하여 지정된 범위의 값을 뽑아내고 싶다면,
num1의 값은 포함하고, num2의 값은 포함하지 않는다.
길이
문자열의 길이를 구할 때는 len() 함수를 사용한다.
예시
Hello의 길이는 5이므로 5를 출력한다.
변수
값을 저장할 때 사용하는 식별자이다.
값을 변경/재할당할 수 있어 동적타입이다.
물리적인 메모리 공간을 가지고 있다.
사용 방법
우변의 값을 좌변에 할당한다.
이와 같이 우항을 좌항에 대입하는 방식을 2항연산자라고 한다.
복합 대입 연산자
변수를 활용할 때 기존의 연산자와 조합해서 사용할 수 있는 연산자를 복합 대입 연산자라고 한다.
예시
위의 결과는 a = a + 10과 같은 결과이다.
종류
연산자 이름 | 설명 |
+= | 덧셈 후 대입 |
-= | 뺄셈 후 대입 |
*= | 곰셈 후 대입 |
/= | 나눗셈 후 대입 |
%= | 나머지를 구한 후 대입 |
**= | 제곱 후 대입 |
캐스트
타입을 변환하는 작업을 캐스트라고 한다.
종류 | 뜻 |
int() | int 타입으로 바꾸기 |
float() | float 타입으로 바꾸기 |
str() | str 타입으로 바꾸기 |
입력
파이썬은 사용자로부터 데이터를 입력받을 때 input() 함수를 사용한다.
입력 함수의 결과로 나오는 값을 리턴값이라 하고, 리턴값의 타입은 str이어서 원하는 타입으로 맞춰줘야 하는 작업도 필요하다.
예시
다양한 함수들
format() 함수
문자열이 가지고 있는 함수이다.
간단하게 말해, 문자열을 이쁘게 만드는 함수이다.
사용법
이 때, 주의해야 할 점은 중괄호{}의 개수와 format() 함수 안 매개변수의 개수는 반드시 같아야 한다.
예시
위 코드를 출력해보면 결과는 아래와 같이 나온다.
다양한 기능
_outputB, _outputC는 각각 5칸, 20칸부터 시작하겠다는 것을 의미한다.
_outputD, _outputE는 각각 빈칸을 0으로 채우는 것을 의미한다.
_outputF, _outputG, _outputH는 각각 기호를 뒤로 밀기, 기호를 앞으로 밀기, 0으로 채우는 것을 의미한다.
위의 출력의 결과는 아래와 같다.
f-문자열
format() 함수를 더 간단하게 사용할 수 있다.
문자열 앞에 f를 붙여서 만들고, 문자열 내부에 표현식을 중괄호{}로 감싼 형태로 사용한다.
사용법
예시
upper() 함수
문자열의 알파벳을 대문자로 만든다.
예시
lower() 함수
문자열의 알파벳을 소문자로 만든다.
예시
strip() 함수
문자열 양옆의 공백을 제거한다.
여기서 공백은 띄어쓰기, 탭, 줄바꿈을 모두 포함한다.
왼쪽의 공백을 제거하는 lstrip(),
오른쪽의 공백을 제거하는 rstrip() 함수도 있다.
예시
_striped를 출력해보면 아래와 같다.
in 연산자
문자열 내부에 어떤 문자열이 있는지 확인한다.
출력의 결과로는 True 혹은 False이다.
예시
split() 함수
문자열을 특정한 문자로 자른다.
실행 결과로 리스트가 나온다.
예시
예시에서는 공백을 기준으로 문자열을 잘랐다.