1week 7day(scope, shadowing, class)_TIL

miin·2021년 9월 5일
0

TIL

목록 보기
11/24
post-thumbnail

스코프 Scope

  • 범위를 뜻함
  • 특정범위를 벗어나면 해당 객체는 사용될 수 없다
    Local Scope
  • 가장 범위가 제한적

    Enclosed Scope
  • 중첩함수가 있을때 적용됨
  • 부모함수에서 선언된 변수는 중첩함수 안에서도 유효한 범위를 가짐

    Global Scope
  • 함수 안에서 선언된것이 아닌 함수 밖에서 선언된 변수나 함수

    Built-in Scope
  • 가장 범위가 광범위함
  • 따로 선언이 없이도 모든 파이썬 파일에서 유효한 범위를 가지고 있다
  • ex) list 등과 같은 자료구조의 요소총 개수를 리턴하는 len함수가 해당된다

쉐도잉 Shadowing

  • 파이썬이 변수나 함수의 정의를 찾는 순서
    Local => Enclosing => Global => Built-in
    가장 좁은 유효번위 부터 시작해서 넓은 범위로 나아가며 사용되는 변수나 함수의 정의를 찾는다
  • 만일 동일한 이름의 변수들이 서로 다른 스코프에서 선언이 되면 더 좁은 범위에 있는 변수(혹은함수)가 더 넓은 범위에 있는 변수를 가리는 쉐도잉 효과가 나타난다

클래스 Class

  • 사전적 의미는 '부류'
  • 클래스명의 첫글자는 무조건 대문자
  • 클래스를 실체화(instantiate)화 한것이 객체(object)이다
    hyundai = Car()
    bmw = Car()
  • 클래스에 정의되는 공통 요소들을 attribute(성질 혹은 속성)이라고 한다
  • 클래스 안에서 정의해주는 함수는 function이라고 하지 않고 메소드(method)라고 한다
  • 클래스를 사용 하는 이유는 코드의 구조를 더 효과적으로 구현 할 수 있기 때문이다
  • 클래스 위주로 코드를 작성 하는 것을 객체 지향 프로그래밍(Object Oriented Programming)이라고 한다

__init__

  • 앞 뒤로 밑줄 2개가 있는 메소드 들을 special methods 라고 한다
  • 실체화 될때 자동으로 init 메소드가 호출됨

    self
  • class의 실체(instace)인 객체(object)를 가르킴
  • 항상 정의 돼 있어야하며, 맨 처음 파라미터로 정의 되어야 함
  • self.변수 = 변수 => self 객체에 변수를 저장함
  • 모든 메소드에 파라미터 첫번째로 들어가야함

    속성 attribute
  • 해당 객체의 이름 등의 정해진 성질
    메소드 method
  • 객체가 행할 수 있는 어떠한 액션같은 것
  • __init__이 아닌 것

0개의 댓글