이 클래스 이니셜 라이저에 기본값 인 None을 사용하는 이유는 무엇입니까?

사용자 4772964

답변 의 코드를 테스트했으며 제대로 작동합니다.

코드는 다음 Application과 같은 클래스를 만듭니다 .

class Application(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)

다음을 사용하여 인스턴스를 만듭니다.

root = Tk()
app = Application(master=root)

그러나 내가 이해하지 못하는 한 가지가 있습니다. 생성자가 None 객체를 인수로 사용 def __init__(self, master=None):하지만 Application()클래스를 root=Tk()인스턴스로 전달하는 이유는 무엇입니까?

Martijn Pieters

클래스는 Frame생성자를 복사합니다 . 그것은 너무 선택합니다 master인수를. 당신은하지 않습니다 있습니다 . 비록 여기에 코드 하나를 통과하지, 마스터 위젯에 전달하는 참조 * frame섹션Tkinter의에의 소개 :

Frame(master=None, **options)(클래스)
위젯 컨테이너.

tkinter문서의 예는 같은 패턴을 포함한다 :

from Tkinter import *

class Application(Frame):
    # ...

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

root = Tk()
app = Application(master=root)

이렇게하면 코드가 더 유연 해집니다. 이제 Application마스터없이 인스턴스를 만들고 나중에 바인딩 할 Tk 객체를 사용하는 코드에 전달할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 이니셜 라이저 목록에서 기본 클래스의 템플릿 인수를 반복해야하는 이유는 무엇입니까?

분류에서Dev

Ruby (2.1+)에서 수퍼 클래스 이니셜 라이저를 호출 할 때 명명 된 인수 기본값을 반복하지 마십시오.

분류에서Dev

기본 멤버 이니셜 라이저의 존재로 인해 클래스 유형이 중요하지 않음

분류에서Dev

이니셜 라이저 목록을 사용하여 배열을 초기화하도록 배열 클래스 인스턴스를 얻는 방법

분류에서Dev

일부 사용자가 Perl에서 클래스 이름을 인용하는 이유는 무엇입니까?

분류에서Dev

`getNoise`에 대한이 호출이 하위 클래스 구현이 아닌 기본 클래스 구현을 사용하는 이유는 무엇입니까?

분류에서Dev

Swift에서 클래스를 인스턴스화하는 데 사용 된 이니셜 라이저를 찾을 수 있습니까?

분류에서Dev

슈퍼 클래스 지정 이니셜 라이저가 기본적으로 호출되는 이유는 무엇입니까?

분류에서Dev

기본 클래스 생성자가 값을 설정하지 않는 이유는 무엇입니까?

분류에서Dev

이 클래스 변수가 초기화되었지만 None 인 이유는 무엇입니까?

분류에서Dev

공용, 개인, 보호 및 클래스 / 변수의 조합을 사용하는 이유는 무엇입니까?

분류에서Dev

C # : 파생 클래스가 기본 클래스의 인터페이스 메서드 구현을 재정의 할 수없는 이유는 무엇입니까?

분류에서Dev

인라인 사용자 제공 생성자가 기본 클래스 생성자를 odr- 사용하는 이유는 무엇입니까?

분류에서Dev

인터페이스에서 기본 방법을 사용할 수없는 이유는 무엇입니까?

분류에서Dev

nib의 인스턴스를 사용하는 UIViewController 하위 클래스의 편리한 이니셜 라이저?

분류에서Dev

인스턴스 이니셜 라이저 블록 내에서 최종 필드를 사용할 수없는 이유는 무엇입니까?

분류에서Dev

UIView 하위 클래스의 경우 CGRect 인수로 이니셜 라이저를 재정의하면 빈 인수가있는 이니셜 라이저가 자동으로 제공되는 이유는 무엇입니까?

분류에서Dev

예상치 못한 값을 얻기 위해 기본 유형이 int8_t 인 static_cast enum 클래스는 무엇입니까?

분류에서Dev

클래스 변환기를 사용할 때 enableImplicitConversion을 사용하지 않는 이유는 무엇입니까?

분류에서Dev

클래스에 도달하기 위해 @Injectable ({providedIn : 'root'})을 사용하는 이유는 무엇입니까?

분류에서Dev

개체 이니셜 라이저를 사용할 때 개인 클래스 멤버를 초기화하는 방법이 있습니까?

분류에서Dev

때때로 기본 유형을 기본 클래스로 컴파일하는 이유는 무엇입니까?

분류에서Dev

기본값이 비어 있거나 NULL 인 경우에만 텍스트 매개 변수가 새 값을 허용하지 않는 이유는 무엇입니까?

분류에서Dev

BoundServices에 액세스하기 위해 바인더 클래스를 상속하는 다른 클래스를 사용하는 이유는 무엇입니까?

분류에서Dev

Xcode 컴파일러에서 클래스를 사용하더라도 값 유형을 사용한다고 말하는 이유는 무엇입니까?

분류에서Dev

기본 클래스를 개인적으로 상속하고 싶을 때 이름을 공개하는 이유는 무엇입니까?

분류에서Dev

이 예제에서 Clang을 사용하여 기본 클래스를 얻는 방법은 무엇입니까?

분류에서Dev

추상 또는 인터페이스 클래스를 사용하는 이유는 무엇입니까?

분류에서Dev

이니셜 라이저에서 Ruby 사전로드 클래스

Related 관련 기사

  1. 1

    C ++에서 이니셜 라이저 목록에서 기본 클래스의 템플릿 인수를 반복해야하는 이유는 무엇입니까?

  2. 2

    Ruby (2.1+)에서 수퍼 클래스 이니셜 라이저를 호출 할 때 명명 된 인수 기본값을 반복하지 마십시오.

  3. 3

    기본 멤버 이니셜 라이저의 존재로 인해 클래스 유형이 중요하지 않음

  4. 4

    이니셜 라이저 목록을 사용하여 배열을 초기화하도록 배열 클래스 인스턴스를 얻는 방법

  5. 5

    일부 사용자가 Perl에서 클래스 이름을 인용하는 이유는 무엇입니까?

  6. 6

    `getNoise`에 대한이 호출이 하위 클래스 구현이 아닌 기본 클래스 구현을 사용하는 이유는 무엇입니까?

  7. 7

    Swift에서 클래스를 인스턴스화하는 데 사용 된 이니셜 라이저를 찾을 수 있습니까?

  8. 8

    슈퍼 클래스 지정 이니셜 라이저가 기본적으로 호출되는 이유는 무엇입니까?

  9. 9

    기본 클래스 생성자가 값을 설정하지 않는 이유는 무엇입니까?

  10. 10

    이 클래스 변수가 초기화되었지만 None 인 이유는 무엇입니까?

  11. 11

    공용, 개인, 보호 및 클래스 / 변수의 조합을 사용하는 이유는 무엇입니까?

  12. 12

    C # : 파생 클래스가 기본 클래스의 인터페이스 메서드 구현을 재정의 할 수없는 이유는 무엇입니까?

  13. 13

    인라인 사용자 제공 생성자가 기본 클래스 생성자를 odr- 사용하는 이유는 무엇입니까?

  14. 14

    인터페이스에서 기본 방법을 사용할 수없는 이유는 무엇입니까?

  15. 15

    nib의 인스턴스를 사용하는 UIViewController 하위 클래스의 편리한 이니셜 라이저?

  16. 16

    인스턴스 이니셜 라이저 블록 내에서 최종 필드를 사용할 수없는 이유는 무엇입니까?

  17. 17

    UIView 하위 클래스의 경우 CGRect 인수로 이니셜 라이저를 재정의하면 빈 인수가있는 이니셜 라이저가 자동으로 제공되는 이유는 무엇입니까?

  18. 18

    예상치 못한 값을 얻기 위해 기본 유형이 int8_t 인 static_cast enum 클래스는 무엇입니까?

  19. 19

    클래스 변환기를 사용할 때 enableImplicitConversion을 사용하지 않는 이유는 무엇입니까?

  20. 20

    클래스에 도달하기 위해 @Injectable ({providedIn : 'root'})을 사용하는 이유는 무엇입니까?

  21. 21

    개체 이니셜 라이저를 사용할 때 개인 클래스 멤버를 초기화하는 방법이 있습니까?

  22. 22

    때때로 기본 유형을 기본 클래스로 컴파일하는 이유는 무엇입니까?

  23. 23

    기본값이 비어 있거나 NULL 인 경우에만 텍스트 매개 변수가 새 값을 허용하지 않는 이유는 무엇입니까?

  24. 24

    BoundServices에 액세스하기 위해 바인더 클래스를 상속하는 다른 클래스를 사용하는 이유는 무엇입니까?

  25. 25

    Xcode 컴파일러에서 클래스를 사용하더라도 값 유형을 사용한다고 말하는 이유는 무엇입니까?

  26. 26

    기본 클래스를 개인적으로 상속하고 싶을 때 이름을 공개하는 이유는 무엇입니까?

  27. 27

    이 예제에서 Clang을 사용하여 기본 클래스를 얻는 방법은 무엇입니까?

  28. 28

    추상 또는 인터페이스 클래스를 사용하는 이유는 무엇입니까?

  29. 29

    이니셜 라이저에서 Ruby 사전로드 클래스

뜨겁다태그

보관