파이썬 클래스 (클래스)와 예 (인스턴스) 방법의 사용

가장 중요한 객체 지향 개념 클래스 (클래스) 및 인스턴스 (인스턴스), 클래스가 추상 같은 학생 클래스와 템플릿, 및 인스턴스가 특정 "개체"를 기반으로하는 클래스의 밖으로 생성됩니다 명심해야하고, 각 개체는있다 동일한 방식으로하지만, 각 데이터는 상이 할 수있다.
! [파이썬 클래스 인스턴스 클래스 및 작동 인스턴스 메소드
(https://img-blog.csdnimg.cn/20181103213647550.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyOTQ4NDIy,size_16,color_FFFFFF, t_70)
아직 파이썬 예를 들면 학생 클래스이며, 클래스는 클래스 키워드로 정의됩니다
클래스 학생 (객체) :
패스
클래스 뒤에 클래스 이름, 즉 학생 다음으로 클래스 이름은 다음에 처음에 보통 대문자 단어이다 모든 클래스는 결국 클래스를 상속입니다 개체 클래스의 사용에 더 적합한 클래스 상속이없는 경우 클래스를 나타내는 (개체), 클래스 아래에서 상속됩니다, 우리 뒤에 상속의 개념은 일반적으로 다음 사항을 반복합니다.
** 파이썬 학습의 과정에서 사람들 또한 많이, 자주 거기에 아무도 좋은 튜토리얼이 없거나 포기하고 자신을 쉽게 최고의 가이드, 나는 파이썬 교환 드레스 내장되어 있기 때문에 : 오랜 시간과 군사를하면서 생각의 흐름 (번호 동음 이의어) 변환을 찾을 수에서, 파이썬 튜토리얼 프로젝트를 수행 할 수있는 새가 나는 문제를 오 해결할 내부 사람들과 많은 교류를 이해하지 않는다! *
정의 학생 클래스, 당신은 학생 학생에 따라 클래스의 인스턴스를 생성하고 이름 + () 구현 클래스의 인스턴스를 생성 할 수 있습니다 :

학생 바트 = >>> ()
>>> 바트
<__ 메인 __. 개체 0x10a67a590 학생,>
학생 >>>
< '__main에서 __. 학생 클래스>
가변 바트 점 학생의 일례 알 수있다 후자 0x10a67a590이고 학생은 자체 클래스 동안 메모리 주소는 각 개체의 주소는 동일하지 않습니다.

예 바트 바인드 이름 속성과 같은 속성을 바인딩 인스턴스 변수를 줄 무료 :

Bart.name = >>> '바트 심슨'
>>> bart.name
'바트 심슨'
당신은 시간의 인스턴스를 만들 수 있도록 클래스, 템플릿 역할을 할 수 있기 때문에, 우리는 재산의 일부가 입력해야 할 필수 바인딩해야한다는 생각 내부. 인스턴스를 만들 때 특별한 __init__ 방법을 정의하여, 이름, 점수에 연결된 다른 속성을 넣어 :

클래스 학생 (객체) :

__init __ DEF (자체, 이름, 점수) :
self.name = 이름
self.score = 점수
참고 : 특별한 방법 "__init__"이전과 이후 두 개의 밑줄이 있습니다! ! !
첫 번째 매개 변수의 __init__ 방법은 항상 자기 것을 언급, 그것은, 따라서 그 자체의 인스턴스를 생성 __init__ 메쏘드 내에서, 당신은 자기 자체의 인스턴스에 포인트로 만들어지기 때문에, 자기에 바인딩 재산의 모든 종류를 넣을 수 있습니다 나타냅니다.

인스턴스를 만들 때 __init__ 방법을, 빈 매개 변수를 전달하고 __init__ 방법과 일치해야 매개 변수를 전달하지만, 자기를 통과 할 필요가 없습니다 수없는, 파이썬은 자신이 인스턴스 변수로 전달됩니다 인터프리터 :

바트 = 학생 >>> ( '바트 심슨', 59)
>>> bart.name
'바트 심슨'
>>> bart.score
59
클래스 정의 기능 만 약간 다른 제 1, 제 정상적인 기능과 비교 매개 변수는이 매개 변수를 통과하지 못한, 호출 할 때, 항상 인스턴스 변수 자체이며,. 당신은 여전히 기본 매개 변수, 변수 매개 변수, 키워드 및 명명 된 키워드 인수를 사용할 수 있도록 또한, 클래스와 일반 함수의 방법은 다르지 않습니다.
데이터 캡슐화
객체 지향 프로그래밍의 중요한 기능은 데이터 패키지입니다. 각 인스턴스는 자신의 이름이, 위 점수 데이터에 대한 학생 클래스입니다. 우리는 학생의 성취를 인쇄 등의 기능을 통해 이러한 데이터에 액세스 할 수 있습니다 :

DEF print_score >>> (STD)
... 인쇄 ( "% S % S '% (std.name, std.score))
...
>>> print_score (바트)
바트 심슨 59
학생 보낸 그러나 자체가이 데이터에 액세스 할 수있는 데이터의 예에 액세스 할 필요가 그렇지 않은 학생 클래스 함수 내에서 직접 액세스 데이터를 정의 할 수있는 외부에서 기능이없는 다음 캡슐화하는 "데이터". 이러한 기능과 캡슐화 된 데이터는 학생 클래스 자체, 우리는 클래스를 호출하는 방법을 연결되어 있습니다 :

클래스 학생 (객체) :

: DEF (자기, 이름, 점수) __ __init
self.name = 이름
self.score = 점수

print_score DEF (자기)
인쇄 ( "% S % S '%합니다 (self.name, self.score))
첫번째 파라미터에 추가하는 방법을 정의하는 외부 자기 및 다른 통상의 함수이다. 메소드를 호출하려면, 당신은 단지 자기가 통과하지뿐만 아니라, 인스턴스 변수를 직접 호출 할 필요가 다른 일반 매개 변수가 전달 :

Bart.print_score는 >>> ()
바트 심슨 : 59
결과가, 우리는 학생 클래스의 외부에서 볼 수, 당신은 단지 알아야 할 필요가 주어진 이름의 인스턴스를 생성하고 점수 및 인쇄하는 방법, 학생 클래스의 정의 내에하기 이러한 데이터와 로직을 호출이 쉬운까지 "패키지"하지만, 그들은 내부 구현의 세부 사항을 알고하지 않습니다.

또 다른 장점은 패키지가 학생 클래스, 같은 get_grade하는 새로운 방법을 추가 할 수 있다는 것이다 :

클래스 학생 (객체) :
...

get_grade DEF (자동) :
IF self.score> = 90 :
리턴 'A'
ELIF self.score> = 60 :
리턴 'B'
다른 :
리턴 'C'
동안 파이썬의 학습 과정에서 많은 사람들이 자주 없기 때문에 좋은 자습서 또는 아무도 포기하고 자신을 쉽게 선두 안내, 나는 파이썬 교환 드레스 내장 : 다운 (디지털 동음 이의어) 변환이 찾을 수있는 생각을 스트리밍하는 동안, 새로운 파이썬 튜토리얼 프로젝트가 걸릴 수 있다는 것을 오랫동안 우 문제를 아를 해결할 내부 사람들과 많은 교류를 이해하지 않는다!
같은, get_grade 방법은 어떻게 내부 구현 세부 사항을 알 필요가 없습니다 인스턴스 변수에 직접 호출 할 수 있습니다 :

# - * - 코딩 : UTF-8 - * -

클래스 학생 (객체) :
데프 __init __ (자기, 이름, 점수) :
self.name = 이름
self.score = 점수

DEF (자기) get_grade :
만약 self.score> = 90 :
복귀 'A'
ELIF self.score> = 60 :
복귀 'B'
다른 :
창 'C'

학생 = 리사 ( '리사', 99)
바트 학생 = ( '바트'(59))
인쇄 (lisa.name, lisa.get_grade ())
프린트 (bart.name, bart.get_grade ())
실행
, 상기 코드 판독 아직? 또한 파이썬 학습의 과정에서 많은 사람들이, 거기에 아무도 좋은 튜토리얼이 없거나 포기하고 자신을 쉽게 최고의 가이드, 나는 파이썬 교환 드레스 내장 종종 있기 때문에 : 오랜 시간과 군사를하면서 생각의 흐름 (디지털 동음 이의어) 변환 다운 발견하고, 취할 수있는 새로운 파이썬 튜토리얼 프로젝트가 될 수있다, 문제를 오 해결할 내부 사람들과 많은 교류를 이해하지 않는다!
자신의 아이디어와 네트워크에서이 문서의 텍스트 및 이미지,뿐만 아니라 상업적 목적, 저자에 소유하여, 교환 내용, 질문이있는 경우, 치료를 위해 문의하시기 바랍니다.

추천

출처www.cnblogs.com/chengxuyuanaa/p/12120643.html