techit aischool Python summary

김상민·2023년 1월 5일
0

aischool

목록 보기
6/9

오늘은 함수에 이어서 클래스에 대해 배웠다.

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분 지각을 해버렸다..... 다음부터는 이런일 없도록 하기..,.
클래스부터 쫌 어려웠다. 복습을 더욱 철저히 해야곘다.

profile
꾸준히 하고싶다

0개의 댓글