오늘은 함수에 이어서 클래스에 대해 배웠다.
class
변수, 함수를 묶어서 코드를 작성하는 방법
객체지향 구현하는 문법
- 객체지향 : 실제세계를 모델링하여 프로그램을 개발하는 개발 방법론 : 협업을 용이하게 하기 위한
함수 사용법 : 함수선언(코드작성) > 함수호출(코드실행)
클래스 사용법
- 클래스선언(코드작성) > 객체생성(메모리사용) > 메서드실행(코드실행)
- 클래스선언(설계도작성) > 객체생성(제품생산) > 메서드실행(기능사용)
식별자 컨벤션
- 변수, 함수 : snake_case
- 클래스 : PascalCase, UpperCamelCase
class, self, 사용자 정의 데이터 타입, spacial methods(init(), add() ...)
상속, super, getter-setter, mangling, 메서드의 종류들(인스턴스,클래스,스태틱)
클래스선언 : 코드작성
계산기 설계 : Calculator : number1, number2, plus(), minus()
class Calculator:
number1, number2 = 1, 2
def plus(self):
return self.number1 + self.number2
def minus(self):
return self.number1 - self.number2
- 객체생성
객체생성 : 메모리사용
calc1 = Calculator()
calc2 = Calculator()
dir() : 객체에 들어있는 변수를 출력
dir(calc1)
dir() : 객체에 들어있는 변수를 출력
[var for var in dir(calc1) if var[0] != '_']
['minus', 'number1', 'number2', 'plus']
calc1.number1, calc1.number2
(1, 2)
스페셜 메서드
- 특별한 기능을 하는 메서드 : 앞뒤로 를 붙임
-생성자 메서드 : init__()
-객체를 생성할때 실행되는 메서드
-변수의 초기값을 설정할때 주로 사용
-불량 객체(메서드 사용 X)가 만들어질 확률을 줄여줌
클래스(class)의 타입(type)
- 클래스는 사용자 정의 데이터타입이다.
account의 데이터타입은 Account
account 객체가 만들어진 클래스는 Account
데이터탑인 == 클래스 > 클래스는 데이터 타입이다.
Account 클래스는 우리가 만듦 > 사용자 정의
type(account)
>>>>>>
__main__.Account
데코레이터 : decorator
- 함수에서 중복되는 코드를 빼서 데코레이터 함수로 만들어 코드를 작성하는 방법
- 원래 있던 함수에 새로운 기능을 추가한 함수로 변경할때 주로 사용
def func1():
print('code1')
print('code2')
print('code3')
def func2():
print('code1')
print('code4')
print('code3')
상관계수 ( Correlation Coefficient )
- numpy를 이용하여 데이터의 상관계수를 구합니다.
- python 코드와 numpy의 함수의 속도차이를 비교합니다.
분산(variance)
- 1개의 이산정도를 나타냅니다.
- 편차제곱의 평균
공분산(covariance)
- 2개의 확률변수의 상관정도를 나타냅니다.
- 평균 편차곱
- 방향성은 보여줄수 있으나 강도를 나타내는데 한계가 있습니다.
- 표본데이터의 크기에 따라서 값의 차이가 큰 단점이 있습니다.
상관계수(correlation coefficient)
- 공분산의 한계를 극복하기 위해서 만들어집니다.
- -1 ~ 1까지의 수를 가지며 0과 가까울수록 상관도가 적음을 의미합니다.
- x의 분산과 y의 분산을 곱한 결과의 제곱근을 나눠주면 x나 y의 변화량이 클수록 0에 가까워집니다.
결정계수(cofficient of determination: R-squared)
- x로부터 y를 예측할수 있는 정도
- 상관계수의 제곱 (상관계수를 양수화)
- 수치가 클수록 회기분석을 통해 예측할수 있는 수치의 정도가 더 정확
공분산 : 방향성 0, 강도 X
상관계수 : 방향성 0 , 강도 0
결정계수 : 방향성 X, 강도 0
※오늘은 일어나서 여유있게 쉰다고하다가 30분 지각을 해버렸다..... 다음부터는 이런일 없도록 하기..,.
클래스부터 쫌 어려웠다. 복습을 더욱 철저히 해야곘다.