파이썬 학습 기록 칠

객체 지향 프로그래밍

클래스의 예

클래스 추상 템플릿입니다

클래스 학생 (객체) :
     패스 
class즉시 클래스 이름 뒤에가, 즉 Student, 클래스 이름은 보통 다음에 대문자 단어의 시작이며 (object),
클래스 아래에서 상속 클래스를 대표하는, 우리 뒤에 상속의 개념은, 그 반복
일반적으로, 더 적합한 상속 클래스를 사용하면 object모든 클래스는 결국 클래스를 상속입니다 클래스,

클래스의 인스턴스를 생성하는 것은 이름 +에 의해 이루어집니다 ()

바트 = >>> 학생 ()는
 >>> 바트
 < __main__ 0x10a67a590 AT .Student 개체> #은 동일하지 않은 점 바트 학생 0x10a67a590 뒤의 예는, 각각의 메모리 어드레스에 대한 메모리 어드레스의 일례를 나타내는 
> >> 학생
 < 클래스  ' __main에서 __. 학생 ' >

이러한 경우 바트 속성에 이름을 바인딩 등의 속성을 바인딩 인스턴스 변수를 줄 무료

>>> bart.name 용 = ' 바트 심슨 ' 
>>> bart.name
 ' 바트 심슨 '

우리는 재산의 일부가 입력해야 할 필수 바인딩되어야한다고 생각합니다. 특별한 정의함으로써 __init__방법을

클래스 학생 (객체)
  DEF  __init__ (자기, 이름, 점수) : 
    self.name = 이름 
    self.score = 점수 
참고 : 특별한 방법 "__init__"이전과 이후 두 개의 밑줄이 있습니다! !

주목 __init__첫 번째 인수는 항상 self자체가 인스턴스가 만들어으로, 따라서 표현에, __init__내부 방법, 우리는 바인딩되는 재산의 모든 종류를 넣을 수 self있기 때문에, self그 자체의 인스턴스를 생성 지적한다.

__init__방법, 시간에 인스턴스를 생성, 당신은 당신이 통과해야 널 매개 변수를 전달할 수 없습니다 __init__매개 변수 매칭 방법을하지만, self자신이 인스턴스 변수로 전달됩니다 통역, 파이썬을 통과 할 필요가 없습니다 :

데이터 캡슐화

클래스 학생 (객체) : 

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

    DEF print_score (자동) :
         인쇄 ( ' % S : % S ' % 합니다 (self.name, self.score )) 

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

액세스 제한

클래스 내 및 특성을 갖는 방법 및 헤이 방법은 내부 로직의 동작의 복잡성을 숨기는 내부 외부 코드 감기 인스턴스 변수 일 수 제공 할

그러나, 클래스 학생의 전면 뷰의 정의, 외부 코드는 이름의 한 예를 자유롭게 변경할 수 있습니다, 점수 속성

당신이 내부 속성은 외부에서 액세스 할 수없는 원한다면, 당신은 재산을 더한 두 개의 밑줄의 이름 앞에 넣을 수 있습니다 __, 파이썬에서, 인스턴스 변수의 이름을 경우 __시작, 그것은 개인 변수 (개인)되고 , 만 내부 액세스, 외부하지 액세스, 우리는 학생 카테고리를 변경 할 수 있습니다 :

클래스 학생 (객체) : 

    데프  __init__ (자기, 이름, 점수) : 
        자기. __name = 이름 
        자체. __score = 점수 

    데프 print_score (자기) :
         인쇄 ( ' % S : % S ' . % (자기 __name . 자기 __score ))

그 주, 파이썬에서 변수 이름은 비슷합니다 __xxx__, 그것은 이중 밑줄, 이중 밑줄로 시작하고 끝으로, 특별한 변수, 직접 액세스 할 수있는 특별한 변수 private 변수가 있으므로, 사용하실 수 없습니다하지 __name__, __score__그래서 변수 이름.

 

추천

출처www.cnblogs.com/Galesaur-wcy/p/12584848.html