반응형

**python

1.설치

=>python만 설치

=>anaconda와 같은 배포판 설치: 자주 사용하는 라이브러리와 IDE가 같이 설치

=>python기본 문법만 학습하거나 python애플리케이션 만드는 것이 목적일 때는 python만 설치하고 데이터 분석을 위해서 설치할 때는 anaconda와 같은 배포만 설치

 

2.IDE

=>python만 설치된 경우는 python console 이나 idle사용

=>anacondaJupyter notebook( 보고서 만들기 , 자동완성 기능이 없음 .을 찍을 경우 ,블로그 할때 tag사용 )spyder(애플리케이션 만들기 , .찍을 경우 자동완성 기능이 된다.) 를 제공 초보자가 처음 분석을 공부할 때는 jupyter notebook보다는 spyder를 권장

=>vscodepycharm(가상 환경 만들기가 편함 - 프로젝트 할 때 유용) 을 별도로 설치해서 사용

 

3.파이썬 프로그램의 구성 요소

1)Literal: 개발자가 직접 입력하는 데이터

2)Variable : 데이터를 저장해두고 다음에 다시 사용하기 위해서 붙인 이름

 

3)Expression(표현식) : 한번에 수행되는 문장

 

4)function: 자주 사용되는 변수나 리터럴 그리고 표현식을 묶어서 하나의 메모리 영역을 할당받아서 수행하도록 해주는 개체 - 실행 단위

 

5)class& instance(객체): 자주 사용하는 데이터와 함수를 묶은 것

 

6)Module:하나의 파일 - 하나의 파일 안에 여러개의 클래스 및 함수가 존재할 수 있습니다.

 

7)Package :Modele의 집합 - 배포 단위

 

8)comment(주석): 실행과는 상관없는 문장 - # 다음에 나오는 한줄의 문자열

 

데이터 분석 분야에서 일하고자 할 때는 주선을 습관화 할 필요가 있습니다.

 

 

4.작성 규칙

=>한 번에 실행되는 문장(표현식) 은 한 줄에 작성

=>한 줄에 표현식이 2개면 ;으로 구분

=>블럭을 만들 때는 반드시 : 을 붙이고 블럭 내의 문장은 일정한 들여쓰기를 해야 합니다.

블럭은 제어문, 함수, 클래스, 예외처리구문 입니다. (반드시 ;을 붙이고 일정한 들여쓰기를 해야 합니다.)

들여쓰기를 해제 하면 이전 블럭이 끝나게 됩니다.

=>파이썬은 줄 단위로 해석하면서 실행되면 한 번에 실행되는 문장의 끝에서 데이터를 출력할 때는 데이터만 남겨도 출력이 됩니다.

마지막에는 print()를 사용안해도 된다.

=>콘솔 출력은 print(데이터)

=>여러 개 출력할 때는 , 로 구분해서 설정하면 같이 출력

a = 10

a #이 문장이 마지막 문장이라면 출력

#그렇지 않으면 출력 안

b = 10

print(a)

print(a,b)

결과 :

 

=>#! 는 주석이 아닙니다.

유닉스의 shebang으로 프로그램의 일부분입니다.

#! _*_ coding:인코딩 방식_*_: 이 문장은 아래 파이썬 코드의 인코딩 설정입니다.

대부분 utf-8 windows cp949이다.

 

5.python에서 litearal작성 방법

1)정수는 10진수로 작성

2)실수는 정수부분.소수부분으로 작성

3)복소수는 가능 :정수 + 또는 - 정수j

Python에서는 복소수 데이터도 표현할 수 있어요. c=2+3j 처럼 실수부 + 허수부j로 표현합니다. 수학에서 표현하는 i가 아니라 j를 사용하는 것에 주의하세요. 그리고 복소수에서 실수부의 값에 접근할 때는 .real을 사용하고 허수부에 접근할 때는 .imag를 사용합니다.

>>> c = 2+3j

>>> print(c)

(2+3j)

>>> print("실수부:{0}, 허수부:{1}".format(c.real,c.imag))

실수부:2.0, 허수부:3.0

복소수의 뜻과 성질인데요

우선 허수에 대해 먼저 말씀드리고 시작할까 합니다

허수(

 ) 제곱해서 -1이 되는 수 ±√-1 인데요

여기서 √-1을 문자 i로 나타내어 허수단위라 하고,
i
 포함하는 수를 허수라 합니다

 a > 0 일 때, √-a = √a·i 인데요

 

복소수란 a,b 실수이고

일 때  a + bi 꼴의 수를 복소수라 합니다

따라서 복소수

 체계를 살펴보면 아래와 같은데요

 

 

참고로 z가 복소수일 때 z² < 0 일 조건을 살펴보면

z = ai( a≠0 인 실수 ) 이면 z² = -a² < 0

따라서 z 순허수일 때, z² < 0 이 됩니다

 

또한 복소수가 서로 같을 조건을 살펴볼텐데요

a,b,c,d  실수이고, i =  √-1 일 때

1) a+bi = 0 ⇔ a = 0, b = 0

2) a+bi = c+di ⇔ a = c , b = d

이미지 처리 할 때사용

딥러닝할때 사용할 수도 있다.

4j ->허수 존재하지 않는 데이터

e-> 존재한 데이터  자연로그

전기쪽에서 많이 사용한다.

 3+ 4j -> 3은 유리수 4는 허수

 

4)bool데이터 : TrueFalse

5)문자열: ''"" 사이에 한 줄의 문자열을 대입

           ''' 여러 줄''' 또는 """ 여러줄 """

           어떤 코드를 실행시키지 않을 의도로 따옴표 3개로 묶는 경우가 있습니다.

"""

a = 10

a #이 문장이 마지막 문장이라면 출력

#그렇지 않으면 출력 안

b = 10

print(a)

print(a,b)

 

"""

print(1000)

 

           역슬래시 다음에 영문자 1개가 오면 제어문자로 특별한 의미를 갖는 문자가 됩니다.

           \n -> 줄 바꿈

           \t ->

           \"" -> " 큰따옴표

           \' -> ' 작은 따옴ㅍ

           \\ => \ 역슬래시

 

6)byte배열(bytes): b'문자열', b'\코드\코드'

 

7)list(비교 가능한 데이터의 모임):[데이터, 데이터 ...]

8)tuple(변경 불가능한 데이터의 모임): (데이터, 데이터...) ,데이터가 1개인 경우는 (데이터,)

9)set(중복 불가능한 데이터의 모임): {데이터, 데이터...}

10)dict(키와 값의 모임):{: , : ...}

11)None: 데이터 없음을 의미

 

6.가장 중요한 함수 => 매우 중요하다.

1)type(데이터) : 데이터의 자료형을 문자열로 리턴

2)dir(데이터) : 데이터가 사용할 수 있는 속성과 함수의 목록을 리턴

3)help(함수) : 함수를 사용하는 방법과 설명

=>직접 만든 함수의 결과가 아니면 type으로 확인해보고 사용할 수 있는 속성이 함수의 목록을 확인해보고 help로 도움말도 확인해보는 것이 좋습니다

print(type(1000))

#print(dir(1000)) #속성과 함수를 확인

help(int.bit_length) #6진수

 #사용법 확인

print((1000).bit_length()) #몇 비트로 만들어지는지 확인

나중에 필요한 것은 찾아서 사용해아야 한다. 그 기능이 help이다.

python은 메뉴얼을 따로 안주고 찾아서 해야 한다.

 

7.keyword

=>파이썬이 만들어 둔 예약어 : 기능이 이미 구현되어 있음

=>다른 용도로 사용할 수 없음

확인하는 방법은

import keyword

print(keyword.kwlist)

여기 내용은 사용할 수 없다. 이것 제외하고 사용가능하다.

 

8.identifier(식별자)

=>개발자가 기능을 정할 수 있는 이름

=>식별자로 keyword는 사용할 수 없음

=>식별자로 만들고 기능을 부여하면 자신의 영역에 없는 식별자면 자신의 영역에 새로만들고 기능을 부여하고 자신의 영역에 존재하는 식별자면 기능을 수정합니다.

 

=>기능 부여하기

이름 = 기능;

 

 

=>식별자의 기능을 찾는 순서

현재 모듈 ->파이썬의 설정에  따라 다릅니다.

 

=>파이썬이 제공하는 식별자의 이름을 자신의 모듈에서 값을 대입하면 기존의 기능을 사용할 수 없습니다.

 

=>식별자를 찾는 순서

import sys

print(sys.path)

=>Mac이나 Linux등에는 Python 2.x버전이 설치가 이미 되어 있는데 3.x버전을 설치하면 기존 버전과 함께 존재

파이썬 패키지를 다운로드 받았는데 없다고 메시지가 출력되는 경우가 있습니다.

이 경우에는 path를 확인

첫번째것이 나의 위치

그다음 python 디렉토리

실수 할 수 있는 상황:

print(dir(list))#list의 기능 확인

#python이 준 list

#바꾸기 전의 list

print()

list = 200

print(dir(list))#list의 기능 확인

#list = 200이기 때문에 int로 변한다.

list -> int로 바꾸고  나면 기능이 list로 된다.

문자열 : str

데이터 목록 : list

 

 

9.Variable

=>데이터를 저장하고 저장한 데이터에 이름을 붙이는 것

식별자 = 데이터

=>변수는 생성된 블럭에서만 사용 가능

블럭이 없어지면 메모리도 없어지기 때문에 같이 소멸됩니다.

=>변수를 만드는 이유는 데이터를 다음에 또 사용하기 위해서 입니다.

 

#좋은 방법이 아님

print(200)#상수 값을 바로 출력

 

#다음에 사용할 지 않을 지 모르기 때문에 변수에 저장하고 사

result = 200# 200이라는 값을 result에 저장

print(result) #result의 값을 출력

#result를 사용할 가능성이 높다.

사용안하면 지우면 되니깐 변수를 사용하는 것이 좋다.

변수로 하는 습관을 하기

 

 

 

테스트 완료했는데 결과가 정확하지 않을 경우 다시 처음부터 수정해야 한다.

=>리터럴이나 연산식의 결과 또는 함수의 결과를 바로 사용하지 말고 변수에 저장한 후 사용하는 것을 습관하는 것이 좋습니다.

=>데이터 분석을 할 때는 특별한 경우가 아니면 기존 변수를 수정해서 사용하지 않는 것이 좋습니다.

중간 결과가 전처리한 데이터들은 새로운 변수에 저장하는 것을 습관화 해야 합니다.

데이터 분석에서는 중간 결과나 초기 데이터 등을 재사용할 가능성이 높기 때문입니다.

분석은 대용량의 데이터를 다루기 때문에 데이터를 다시 불러오거나 전처리를 다시하면 시간이 오래 걸릴 가능성이 높습니다.

#아래 처름 하지 말라

#a가 원래 가지고 있는 10이 없어져서 다시 해야 한다.

#이 방식은 기존의 데이터가 없어져버림

a = 10

print(a)

 

a = a+ 5

print(a)

 

#기존의 데이터를 보존

#b의 데이터가 필요하면 또 작업을 하면 된다.

b = 10

print(b)

 

c = b+5

print(c)

 

 

10.연산자

1).산술 연산자

+ : 동일한 종류의 데이터끼리만 사용이 가능

숫자끼리는 덧셈을 하지만 숫자가 아닌 경우는 결합

 

- : 숫자 끼리 뺄샘

 

* :숫자 끼리는 곱셈, 숫자가 아닌 데이터 * 수자를 하면 반복

2* 3 : 6

"Python" * 3 : "PythonPythonPython"

 

 

/ : 실제 나누기

 

// : 몫을 정수로

% : 나머지

 

** : 거듭 제곱 : 3 ** 3 = 27

 

2)비교 연산자

>, >= , < , <=

== , !=

=> 이 연산자들은 동일한 자료형끼리만 가능

>, >=, <, <= 는 숫자 데이터에만 사용

== , != 는 모든 자료형에 사용

=>연산의 결과는 True아니면 false

=>bool데이터와 숫자 데이터 사이에 사용되면 bool데이터는 True 1 False0으로 간주

1 == True

비교는 똑같은 것을 비교한다.

=>산술 연산자보다 우선순위가 낮습니다.

같은 줄에 있으면 산술연산자 하고 비교연산자 한다.

 

3)비트 논리 연산자 : 분석이나 이미지 처리 그리고 Embedded에서 중요

=>정수 데이터를 2진수로 변환해서 비트 단위로 연산을 한 후 결과를 다시 정수로 변환해주는 연산자

=>비트 각각을 연산

&: and - 둘 다 1인 경우 만 1 나머지 경우는 0

|: or - 둘다 0인 경우만 0 나머지 경우는 1

^: xor -두개가 같은 경우는 0 다른 경우는 1

~: 1의 보수 연산(0->1, 1->0)

=>각각 연산을 해서 결과를 만드는 것이 중요

데이터의 모임끼리 이 작업을 수행하면 데이터 각각을 연산해서 데이터의 모임으로 결과를 리턴

1010개 연산하면 10개 나온다.

 

<<: 왼쪽의 데이터를 오른쪽의 숫자만큼 왼쪽으로 shift

>>: 왼쪽의 데이터를 오른쪽의 숫자만큼 오른쪽으로 shift

 

 

4) 조건 논리 연산자

&&: and

|| : or

=>데이터 전체를 하나로 보고 연산을 해서 결과도 하나만 생성

=>연산의 결과를 True또는 False로 리턴

1010개 연산하면 1개 나온다.

5)기타 연산자

in: 왼쪽의 데이터가 오른쪽에 소속되어 있는지를 리턴

not in : 왼쪽의 데이터가 오른쪽에 소속되지 않았는지를 리턴

is : 동일한 데이터를 가리키는지를 리턴 (가리키는 데이터가 같은지)

is not: 동일하지 않은 데이터를 가리키는지를 리턴

type:데이터의 자료형 리턴

id(데이터): 데이터의 참조를 리턴

=>intype이 자주 사용

=>나머지는 공부할 때만 학습

 

6) 할당 연산자

= : 오른쪽의 값을 왼쪽의 변수에 대입

+= : 왼쪽 변수의 값에 오른쪽의 값을 + 한 후 결과를 왼쪽의 변수에 대입 ( 별로 안좋다. 왼쪽데이터가 변하기 때문에 분석가 입장에서는 안좋다.)

 

+연산자 실습:

r = 10 + 5#숫자끼리의 덧셈은 덧셈

print(r)

 

k = [1,2,3] +[4,5,6]# 숫자 이외의 덧셈은 결합

print(k)

k가 리스트

#k sort를 가지고 있으면 호출

if sort in k:

k.sort()

x= 20

if x in k:

    print(k.x)

else:

print("데이터 없음")

x= 6

if x in k:

    print(k[x])

else:

print("데이터 없음")

 

 

 

 

 

 

 

 

반응형

'Study > Python' 카테고리의 다른 글

python-12  (0) 2020.10.26
python-11  (0) 2020.10.26
Python-9  (0) 2020.09.12
python-8  (0) 2020.09.12
Python-7  (0) 2020.09.12

+ Recent posts