디렉토리
1 소개
객체 2의 개념
생성 및 오브젝트 3 참조
4 공유 참조
5 개체 같다
도 6은 수집 메커니즘 개체
1 소개
디자인의 처음부터 파이썬은 모든 것이 객체입니다 중요한 개념이, 객체 지향 언어입니다.
자바는 객체 지향 프로그래밍 언어,하지만 혈액 순수 파이썬이지만. 예를 들어, 자바는 Integer 클래스의 객체로 포장 할 필요 8 개의 기본 int 데이터 형식 중 하나, 시간의 지속성이다. 그러나 파이썬에서, 모든 객체이다. 숫자, 문자열 튜플리스트, 사전, 함수, 방법, 클래스, 모듈 등이, 목적 코드를 포함하는 방법.
객체 2의 개념
대상은 무엇인가? 다른 프로그래밍 언어는 여러 가지 방법으로 "개체"를 정의합니다. 이 모든 객체가 하위 클래스로 할 수 있음을 의미, 다른 언어, 일부에서는 모든 개체 속성과 메소드를 가지고해야한다는 것을 의미합니다.
파이썬에서, 느슨하게 일부 개체가 어느 속성이나 메소드가, 정의, 그리고 그 모든 개체가 서브 클래스화할 수 없습니다. 변수에 할당하거나 매개 변수로 함수에 전달 될 수있는 모든 파이썬 : 의미에서 파이썬 객체하지만 모든으로 해석 될 수있다.
모든 파이썬 객체는 세 가지 특성이 있습니다 :
신원 : 각 객체는 자신의 고유 ID를 가지고는 얻을 수있는 내장 함수 ID를 ()를 사용할 수있는 모든 개체의 정체성, 당신은 단순히이 값은 객체의 메모리 주소라고 생각할 수 있습니다.
형식 : 오브젝트의 유형, 저장할 수있는 객체 값의 유형을 결정하는 작업이 규칙을 준수하는 방법, 수행 할 수있는 속성과 메소드됩니다. 당신은 내장 함수 유형을 볼 수있는 객체 유형을 사용할 수 있습니다 ().
값 : 데이터 개체를 나타냅니다.
"정체성", "유형"과 "값은"생성 된 모든 객체의 시간에 할당됩니다. 개체가 업데이트 동작을 지원하는 경우의 값은 가변적 인, 또는 (불변 번호 문자열 튜플 등)은 읽기 전용이다. 객체가있는 한,이 세 가지 특성이 존재하고있다.
개체 속성 : 대부분의 파이썬 객체 속성 값, 또는 점 표기법 액세스 속성을 사용하는 방법이있다 (.). 클래스, 모듈, 및 기타 파일 : 가장 흔한는 속성과 메소드의 함수이다, 일부 파이썬 데이터 객체는 다음과 같은 속성을 가지고있다.
생성 및 오브젝트 3 참조
코드의 상단에 간단한 뷰는 다음과 같은 작업을 실행합니다 :
- 그것은 4 개수를 나타내는 객체를 생성
- 변수가 존재하지 않는 경우, 새로운 변수를 만들
- 도 4는 가변 디지털 접속은 개체, 즉 기준 변수가 특히 주목하여, 개체의 메모리 영역에 대한 포인터이며, 내부에 4가된다 : 변수는 항상 대상에 부착하고, 서로 연결되지 않은 변수입니다.
변수 테이블 개체를 참조하여, 요소들의 시스템을 만들어, 개념적으로 이해 될 수 있고, 객체는 객체가 표시되는 값을 나타내는 데 사용되는 힙 메모리 공간에 할당되는 변수로부터 오브젝트에 대한 참조 포인터.
기술적으로, 각 오브젝트는 오브젝트가 복구되었는지 여부를 결정하는데 사용되는 기준 카운터가있다, 두 표준 헤더 정보의 유형을 식별하는 타입 식별자를 갖는다. 여기에 또한 객체를 최적화하는 방법에 관한 것으로, 파이썬은 동일한 개체 중 일부는 새로운 객체를 생성하지 않고 각 시간보다, 재사용 캐시합니다.
4 공유 참조
여러 변수가 동일한 객체를 참조 파이썬 객체 참조 변수에 대한 모든 포인트 공유 참조된다.
그러나 그러한 목록과 같은 변경 가능한 객체에 대해,이 다르다.
코드가 특정 작업을 수행 할 때 목록의 원본을 유지 할 필요가 있으므로이 때문에 변동성 목록으로, 예기치 않은 일 수있다.
슬라이스 타입이 개념 사전 등을 설정하지 들어, 복사 () 메소드 복사 모듈을 사용하여 복사된다.
5 개체 같다
테스트 연산자 == 개의 참조 용 오브젝트는 동일하다.
두 객체가 같은 객체를 참조하는 여부를 비교하는 데 사용됩니다.
동작 대상이 소수 또는 짧은 문자열 인 경우, 다른이 있습니다 :
작은 숫자 및 문자열에 의한 캐싱 메커니즘 파이썬 버퍼링 다중화되기 때문에 A와 B가 동일한 객체를 참조하도록이있다.
도 6은 수집 메커니즘 개체
개체는 개체의 카운터 즉, 객체에 대한 참조의 부재는, 그 오브젝트의 메모리 공간을 복구한다 0되면 상부 기준 카운터에 대한 참조는, 카운터가, 오브젝트에 현재 기준점의 개수를 기록 포함한다. 이것은 파이썬, 코딩 프로세스의 메모리 공간의 출시를 고려할 필요가없는 가장 확실한 혜택 중 하나에서 수집 메커니즘 개체입니다.
sys 모듈의 getrefcount의 값으로 () 함수 질의 객체 카운터
기사에서 재판 :
Python一切皆对象(https://www.cnblogs.com/wangxin37/p/6598466.html)