파이썬 self 예제

여기서 마법 키워드 « self »는 클래스의 인스턴스를 나타냅니다. 지정된 인수와 특성을 바인딩합니다. 추가하고 싶은 또 다른 것은 선택적 자기 인수를 사용하면 self를 작성하지 않음으로써 클래스 내에서 정적 메서드를 선언 할 수 있다는 것입니다. MyClass 예제에서는 문자열 `hello world`를 반환합니다. 그러나 x.f는 메서드 개체이며 나중에 저장하여 호출할 수 있습니다. 예를 들어 이 액세스 스타일은 명확하고 간결하며 편리합니다. 이터레이터의 사용은 파이썬에 퍼져 있고 통일됩니다. 뒤에서 for 문은 컨테이너 개체에서 iter()를 호출합니다. 함수는 컨테이너의 요소에 한 번에 하나씩 액세스하는 메서드next()를 정의하는 이터레이터 개체를 반환합니다. 요소가 더 이상 없는 경우 next()는 for 루프가 종료하도록 알려주는 StopIteration 예외를 발생시게 됩니다. 이 예제에서는 모든 작동 방식을 보여 주며, 개체 자체를 참조하므로 사용할 때 .name 및 .age가 학생 용 개체의 속성임을 선언합니다(학생 클래스가 아님). 이름 및 개체에 대한 Word에서 설명한 것처럼 공유 데이터는 목록 및 사전과 같은 가변 가능한 개체와 관련된 놀라운 효과를 가질 수 있습니다.

예를 들어, 다음 코드의 트릭 목록은 모든 Dog 인스턴스에서 단일 목록만 공유되므로 클래스 변수로 사용해서는 안 됩니다. 메서드 자체에 대해 따라서 인스턴스 메서드는 각 개체 초기화를 사용하여 만들지 않고 클래스 개체 내에 있습니다. 파이썬은 완전한 객체 지향 언어이므로 클래스도 객체임을 기억하십시오. 그래서 그것은 메모리 내에서 살고 있다. 파이썬은 객체 지향 프로그래밍 패러다임을 염두에 두고 만들어진 언어가 아닙니다. 따라서 파이썬에서 정적 메서드를 만드는 것은 직접적이지 않습니다. 이 작업을 수행하는 방법을 보자 : 고양이와 개 : 당신이 두 인스턴스와 클래스 동물이 있다고 가정 해 봅시다. 이제 자체 키워드는 개체를 참조합니다. 여러분 중 일부는 지금까지 그것을 가지고있을 수 있습니다, 또는 일부는 부분적으로 그것을 가지고있을 수 있습니다; 어쨌든 파이썬의 자기는 호출 된 인스턴스를 나타내거나 가리킵니다. 예제를 통해 명확히 해 보겠습니다: 클래스가 __init___() 메서드를 정의하면 클래스 인스턴스화는 새로 만든 클래스 인스턴스에 대해 __init___()를 자동으로 호출합니다.

따라서 이 예제에서는 MyClass.i 및 MyClass.f가 각각 정수 및 함수 개체를 반환하는 유효한 특성 참조인 새 초기화 인스턴스를 가져올 수 있습니다. 클래스 특성을 할당할 수도 있으므로 할당별로 MyClass.i의 값을 변경할 수 있습니다. __doc__는 또한 « 간단한 예제 클래스 »라는 클래스에 속하는 docstring을 반환하는 유효한 특성입니다. 파이썬에는 상속과 함께 작동하는 두 개의 기본 제공 함수가 있습니다: 제외한 절의 클래스는 동일한 클래스 또는 기본 클래스인 경우 예외와 호환됩니다(하지만 다른 방법은 아님 ) 파생 클래스를 나열하는 예외 절은 기본 cl과 호환되지 않습니다. 나위). 예를 들어 다음 코드는 B, C, D를 순서대로 인쇄합니다: 위의 설명은 새 질문을 열고 메서드에 self를 전달해야 합니까? 정의 된 메서드를 포함하는 사람 클래스를 생각해 봅시다 : 메서드는 자체 인수의 메서드 특성을 사용하여 다른 메서드를 호출 할 수 있습니다 : 파이썬은 Java 또는 C ++와 달리 객체 지향 프로그래밍을 위해 만들어진 언어가 아닙니다.