22.05.09

HyeonKi Jo·2022년 5월 9일
0
post-thumbnail

공부와 행복

공부

습관(習慣)

  • 날개짓을 99번한다.
    - 반복이다.

반복의 힘

  • 한 방면에 관심을 가지고 많은 노력을 기울이다 보면 그 방면에서 만큼은 남들이 모르는 세계를 점점 깊이 알게 된다.
  • 꾸준히 해야 한다.

에빙하우스의 망각 곡선

  • 첫날에 100%를 배우면 하루가 지나면 50%, 한달이 지나면 10%, 일년이지나면 거의 잊어버린다.
  • 똑같은 내용을 하루지나 복습하면, 3일지나 복습하면, 10일.. 점점 잊는 곡선이 완만해지고, 90일째는 거의 잊지 않는다.

행복

  • 사람은 모두 다르다.
    사람은 잘 변하지 않는다.
    세상 일은 내 뜻대로 되지 않는다.
  • 따라서 내가 변해야 한다.

파이썬과 40개의 작품들

Chap 01

파이썬이란?

  • 파이썬이랑 1991년 귀도 반 로섬(Guido van Rossum)이 만든 프로그램 언어
  • C언어로 개발되었다.
  • 다른 언어보다 간단하고 쉬운 언어로 되어있다.
  • 메모리 자동 관리
  • https://docs.python.org/3/
    - 파이썬 도큐먼트 참조

프로그래밍이란?

  • 해야할 일을 (순서에 맞게) 시술한 것

컴퓨터 프로그래밍이란?

  • 컴퓨터가 해야할 일을 (순서에 맞게) 기술한 것

컴퓨터의 세계 VS 인간의 세계

  • 2진수 VS 10진수, 12진수, 60진수
  • 온리 수 VS 다양한 데이터 형
  • CPU VS 두뇌

어셈블리어

  • 기계어와 1대1 대응

저수준 언어 VS 고수준 언어

저수준 언어

  • 성능이 안좋은 것이 아니라, 기계(CPU, 컴퓨터)에 가까운 언어이다.
  • 기계어, 어셈블리어

중간수준언어

  • C언어를 주로 중간수준언어라고 부른다.

고수준언어

  • 인간에 더욱 가까운 언어이다.
  • 파이썬 등

C프로그램 개발 과정 개념

  • 번역기 : 완성되어 있는 코드를 처음부터 번역한다. 완성되어있어야 하지만, 한번 완성하면 빠르고 정확하다.
  • 목적프로그램(.obj, 컴파일 중간단계 파일)파일 생성이 필요하다.
  • 실행속도가 빠르다.
  • 번역속도 느리다.
  • C, JAVA등이 있다.

1. 소스코드
2. 컴파일러

  • 컴파일러로 소스코드를 기계어로 번역하낟.

3. 목적파일

  • .obj파일이 된다.

4. 링커

  • 라이브러리들을 읽어서 링크해준다.

5. 실행파일

  • CPU가 실행이 가능한 .exe파일로 빌드한다.

인터프리터

  • 컴파일러와는 다르게 한줄한줄씩만 번역한다.
  • 그래서 한번 번역한 코드를 다시 번역해야 할 수 있다.
  • 그러나 한줄씩 번역하기 때문에 상호작용이 가능하다.
  • 목적 (.obj)파일이 필요 없다.
  • 실행속도가 느리다.
  • 번역속도가 빠르다.
  • Python, BASIC, LISP, APL, SNOBOL등이 있다.

Python

접착언어

  • 파이썬은 접착 언어 (Glue lang.)이다.
  • Numpy, C언어등 다른 언어와 접착해서 같이 사용할 수 있다.

Library VS Framework

  • Library는 남이 만들어놓은 코드를 필요할 때, 가져다 쓰는 것이다.
  • Framework는 우리가 코드를 작성하면, Framework에서 실행해주는 것이다.

개발 환경

Google Colab

  • Google에서 지원하는 주피터노트북과 유사한 파이썬 개발환경이다.
  • GPU를 제공하며 인터넷만 연결하면 PC환경에 상관없이 개발을 할 수 있다.

Anaconda Jupyter notebook

  • 로컬 개발환경이지만, 여러가지 프로젝트를 진행할 때, 가상환경을 따로 구현해서 여러 환경에서 개발을 진행하기 좋다. Google Colab의 전문가용과 비슷하다.
  • https://www.anaconda.com/products/distribution
    - 아나콘다 최신버전 설치
  • 모든 유저에게 개방
  • 기본위치에 설치

PATH

  • 기본으로 정해져있는 환경변수의 경로들이다.
  • 사용자변수는 그 계정에서만 사용되는 PATH이며,
    시스템변수는 전체계정에서 사용되는 PATH이다. 시스템변수의 우선순위가 먼저이다.

프롬프트

  • 명령프롬프트에서도 python을 입력하면 인터프리터 형식으로 python을 사용할 수 있다.

Python

실습

  • 명령프롬프트를 열고, notepad [폴더이름]를 입력하여 메모장을 켠다.
  • 아래와 같이 입력하고 C:\Users\r2com, 위치에 *.py이름으로 저장해준다.
x = 10
y = 100
x * y

24 * 60 * 60

print('say hi')
print(type(x))

통합 개발 환경 (IDE)

  • 컴파일러(소스코드 번역), 디버거(버그 수정), 프로파일러(소스코드에서 동작시간분석) 등을 모두 통합된 개발 환경이다.

Visual Studio Code

  • Micro soft에서 개발한 IDE이며 무료로 사용할 수 있으며 매우 다양한 언어를 쉽게 다운로드하여 개발할 수 있다.

  • 설치 후에 왼쪽 퍼즐모양을 클릭한 모습니다.

  • 파이썬 확장팩과, Python for VScode, Python Extensionpack을 설치해 준다.
  • VS코드를 한글로 사용할 수 있는 한국어팩도 설치해준다.
  • 아래 재시작이 나온다면 같이 재시작해준다.
  • 메뉴바 -> 파일 -> 폴더열기 -> 파이썬 코드를 저장할 폴더를 연다.
  • 새 파일을 만들어 줄 수 있다.
  • 위 공간에 코드를 입력할 수 있고, 아래는 Powershell환경이고, 코드 입력에 대한 출력이 나온다. 또, 아래 터미널에서는 linux처럼 명령어를 입력할 수 있다.
  • anaconda를 사용해서 프로젝트별, 가상환경을 따로따로 구축하여 개발환경을 구성할 수 있다. 아래, conda activate로 환경을 구동시키면 되는데, 현재 나는 에러가난당ㅎ

글씨체,

  • 글씨체 : 가변폭 (돋음)
  • 글씨체 +~~체 : 고정폭 (돋음 체)

0. 파이썬의 기초 문법

경로 생성 및 주피터노트북파일 만들어보기

  • 파이썬과 40개의 작품들 폴더에서 내부에 파이썬의 기초문법 폴더를 만들었다.
  • test.py 파일에서 이름을 바꾸어 test.ipynb로 만드니, 오른쪽 소스코드 화면이 주피터노트북 형식으로 바뀌었다.
  • 파일명이 ipynb인 이유는 주피터노트북의 초기 이름이 ipynb였기 때문이다.

주피터노트북 구경하기

  • _3 밑줄 + 숫자로, 숫자번째에 실행되었던 출력을 다시 꺼내올 수 있다. 신기하넹
  • 결과를 보면서 바로바로 수정할 수 있어 효과적이다.

주피터노트북 사용해보기

  • shift + Enter 현재 쉘 실행 및 다음 쉘로 이동
  • ctrl + Enter 현재 쉘 실행 후 쉘 이동 안함
  • Escate Sequence
Escape Sequence: 백슬래쉬 + 문자<br>
\', \", \t(tab), \n(newline), \\(백슬래쉬)


  • 그래서 주석은 프로그래머, 개발자를 위한 것이다.

  • *value 는 모든 값이 들어올 수 있는것을 말한다. 가변 변수이며, 오른쪽에 Object는 모든 객체가 들어올 수 있다는 것이다.

문자열 팁

문자열 포매팅

1. 문자열의 format 메서드 사용하는 방법

  • msg는 문자열의 틀이다.
  • 아래 format 안에 값을 넣어 문자열의 틀에 맞춰 문자열을 생성할 수 있다.
  • 더 다양하게 사용할 수 있지만 홍길동은 중복이다.
  • 순서를 지정해서 사용한다.
  • 이름을 지정해서도 사용할 수 잇다.
  • 이름을 지정한다면 나중에 주석처리를 할 필요 없기 때문에 좋다.

2. f-string

  • format 메서드 사용X
  • 문자열 앞에 f를 붙인다.
  • 출력할 내용을 미리 변수에 바인딩 해야 함.
profile
Talking Potato

0개의 댓글