Min.log
로그인
Min.log
로그인
1week 7day(scope, shadowing, class)_TIL
miin
·
2021년 9월 5일
팔로우
0
0
TIL
목록 보기
11/24
스코프 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__
이 아닌 것
miin
:D
팔로우
이전 포스트
1week 6day(for, while, 중첩함수, closure, decorator)_TIL
다음 포스트
2week 1day(module, packages)_TIL
0개의 댓글
댓글 작성