본문 바로가기
AI, 머신러닝, 딥러닝, 데이터 분석

01_Basic

by 포로리다 2023. 6. 26.
728x90

- 파이썬 기본 학습(추천): 점프 투 파이썬 - WikiDocs

02-1 숫자형 - 점프 투 파이썬 (wikidocs.net)

 

- 프로그래밍 언어 : 컴퓨터에게 의사소통하여 일을 시키기 위한 커뮤니케이션 수단

 

- 정적언어: C, C++, Java, Go etc, build 컴파일, 한군데라도 문제가 있으면 아무것도 할 수 없어 코드가 복잡

- 동적(스크립트)언어: 인터프리터 = 번역기, 파이썬이 인터프리터를 사용하는 언어, Ruby, JavaScript, 에러가 있어도 에러가 발생하는 지점까지는 실행된다. 쉽고 생산성이 좋음

 

- 하이 레벨 언어 : 사람이 이해하기 쉬움 파이썬, 엔트리

- 로우 레벨 언어 : 비교적 컴퓨터에 가까운 언어, C, C++

 

- Python = 큰 뱀, “Life is too short, you need Python”

- 안드로이드 앱 만들 땐 유료 Java, 무료 코틀린 사용

- 거대하고 안정적인 생태계 보유. -> 오픈 소스 및 라이브러리가 많음

  ㄴ 생태계에서 파생 : 넘파이, 텐서플로우 

 

파이썬 O

- GUI 앱 

- 자동화(RPA): 매크로 프로그래밍(티켓팅 등), 엑셀 자동화 등

- 웹 개발

- 데이터 분석, AI 

 

파이썬 X

고성능 및 로우 레벨 프로그램밍 느림, 모바일 프로그래밍

 

- 엔트리: 어린이 프로그래밍 교육을 위해 개발된 언어/플랫폼. (미국의 스크레치와 유사함)

 

- 구글 코랩: 클라우드 기반 무료 Jupyter 노트북 환경, 자동완성 느림

  추후 개발환경 설정 후 vscode 사용하여 실습 가능, vscode 자동완성 지원됨

 

- 마크업 언어: 

* 마크다운: 마크다운은 간단한 문법을 사용하여 문서를 작성하는 데 주로 사용되는 경량 마크업 언어입니다. 웹에서의 작성과 변환을 간편하게 할 수 있으며, 가독성이 높음

* latex 레이택 (라텍스X)

* HTML

 

- 구글 코랩.Ipyn

*  코드 셀

*  마크다운 셀

- 실행방법

1. ctrl + enter  

2. shift +enter

 

ipynb(I Python notebook 은 셀의 마지막 코드를 아래에 출력해 줌)

여러 개 출력하려면 print() 기재 필요

주석 처리 : ctrl + /  

 

- 파이썬 문법

1. **  거듭제곱(power)  2 ** 3 / 2의 3승

2.  // 몫 (소수점 이하 제거) 7 // 3  == 2

3. % 나머지 값  7 % 3  == 1 

4. /  나누기

 

- 연산 순서(Order of Evaluation)
괄호는 항상 우선
거듭제곱
곱셈, 나눗셈
덧셈, 뺄셈
왼쪽에서 오른쪽

 

- 과학적 표기법(지수 표기) / 유효 숫자

   e의 앞부분의 수치만 보증할 수 있음을 의미하기도 함.

앞에 한 자리 수만 적고 보증할 수 있는 수치까지만 기재하여  뒤에 e 이하 기재

e 가 10이라고 생각하고 e 이하 숫자가 지수라고 생각

5e12  :  0이 12개가 붙음 

5.213e4 : 52130.0

0.03을 0.3으로 표현 : 3 e - 2 (마이너스 값 사용)

3 e - 3 == 0.003

 

- 비교 연산자 (결과 값 True / False)

1. 크다

2. 작다

3. 같다   ==   

4. 같지 않다 != 

 

- 문자열(string type) 연산

'  > 한 줄만 가능

"  >  한 줄만 가능

'''  '''> 따옴표 3개 여러줄도 가능 

"""   """> 쌍따옴표 3개 여려줄도 가능

 

- escape code(chatacter) : 문자열에서 특수한 기능을 하는 

* \n (new line)  =  줄바꿈 , 엔터

* \t  (tab) = 키보트의 탭 기능, 드래그하여 스페이스와 구분 가능

* \\  =  진짜

* ",' = 

  백슬러시 표현해 주지 않는 폰트 존재, 이 경우 W 원 마크로 보임

 

- 변수 : 데이터를 담아두는 상자

* 데이터를 재사용할 필요가 있기 때문에 사용

* 변수 이름 작성법 (변수 선언)

 1. = (등호 / 대입 연산자 / assignment operator) 사용 

     ex. var = 3   ( var에 3을 대입하라. assign

 2. 직관성, 가독성 

 ㄴ 숫자로 시작X  문자 또는 언더바_ 로 시작

 ㄴ 언더바 _ 시작도 지양할 것

 ㄴ 문자, 숫자, 언더바로 구성

 ㄴ 대소문자 구분 필요

 ㄴ 특수문자, 공백, 한글 포함 금지

 ㄴ 한번만 사용하더라도 의미가 있는 수치라면 변수명 사용 지향(환율 등)

 

- 데이터 타입(type)  (판다스, 전처리 등 작업 시 구분 중요함)

   출력되는 모습으로 데이터 타입을 오해하지 않도록 주의 필요

   확실하게 알려면 type()을 사용해 출력해 봐야 함.

 

1. 숫자 Type(numeric)

 * integer 정수형   소수점X    

   ㄴ 1, 2, 3, (자연수) / -1, -2 , -3 (정수)

 

 * float 실수형(floating point 부동 소수점)   소수점O

   ㄴ 1.2  3,2   -4,3  - 3.4 실수(real number)  ※ 3.  /  . 3(지양)  도 실수로 인식.

 

 * complex 복소수   허수부 존재 (자주 사용하지 않음)

 

2. 문자 Type(string)

 

3. 불리언 type (boolean)

   ㄴ 참 거짓 / True (1)    False (0)

 

 

※ 파이썬 기본 숫자 타입으로 고도의 숫자 연산을 하면 오류 발생

0.1 + 0.1 + 0.1 == 0.30000000000000004

  예를 들어 1부터 10까지 정수는 10개지만 실수는 무한히 많음

  컴퓨터에서는 숫자를 비트로 표현하는데 실수는 유한개의 비트로 정확하게 표현할 수가 없음

  따라서 실수는 유한개의 비트를 사용하여 근삿값으로 표현함

  즉, 0.30000000000000004는 0.3을 표현한 근삿값임

 

    import math
    math. isclose(0.1 + 0.2, 0.3)

    >>> True

 

- 형변환

* int()

* float()

* str()

* bool()  불리언 타입으로 변경

 ㄴ 숫자 -> 문자 모두 변경 가능 O

 ㄴ 문자 -> 숫자 모두 변경  불가 X

문자 : null (존재X) -> False   ex, bool('')   공백이라도 아무 글자 하나라도 있으면 True

❗ㄴ 숫자: 0 and 0.0은 False

 

- 인덱싱(Indexing) 

index는 문자열 내에서 글자의 '순서&위치'  (n번 째 element(요소)를 return해 줘)

  ※ 단, 범위range를 벗어나면 안 됨

 

- 슬라이싱(Slicing)

start부터 :end의 앞까지 (text[3:8] #3에서부터 8번 앞까지 연속 출력)

 

a = '123456789'
a[0:9:4]

a[시작값:종료값:간격]

a[start:end:step]

: : - 1   역순, 뒤집기 #관용구

 

- 노션 Notion (개발자들이 쓰는 블로그, 개발자를 위한 편의 기능 많음)

   * 1. (추천/선택) 공부 정리 용도(강의안과 별개로 개인 공부 내용 정리)

      2. 프로젝트 관리, 포폴 자료로 사용 가능, Git 관리

 

<우선 순위>

1. 반드시 알아두기

2. 중요함

3. 종종 쓰임 (현업에서 종종 마주침)

4. 심화, 알면 좋음 (활용 수월, 실무 활용, computer science 관련)

 

<복습>

  • 같다 ==
  • 숫자 0부터  count
728x90