어떤 자가 _init_ 못하며창조된 켜짐이 파이썬?
39 m, 파이썬 프로그래밍 언어 및 학습 i& I& # 39, ve, 내가 뭐 잘못 온 구현하므로 don& # 39 완전히 이해할 수 없다.
다음과 같은 방식으로
def method(self, blah):
def __init__(?):
....
....
'무엇을' 자체 책임질래? 무슨 병인데요 데 목적을 두고 있는 것이다. 그것은 필수?
'방법' 는 무엇을 init 책임질래? 필요한 이유는? (etc.)
Oop 구성되어 있을 수 있지만, 내가 모르는 것 같아 무척 don& # 39.
731
18
이 코드:
. 이 '자가' 가변으로 seabreeze 인스턴스입니다 객체에는 할 수 있다. 대부분의 객체 지향 언어들은 이것을 전달하십시오 숨겨진 매개 변수를 메서드을 객체에 대한 정의. 파이썬 언약보다는 선언할 수 있어 it 명시적으로. 'A' 클래스와 인스턴스를 만들 때 그 방법, 정보기술 (it) 과 같이 자동으로 호출하십시오 무너지게 된다.
이 방법은 '에서' init 대략적으로 제이보드 구성자를 파이썬. 전화를 걸 때 ' ()' 는 파이썬 객체를 만든 당신꺼에요 전달하며 '를' 로 첫 번째 매개변수에서 init 메서드입니다. 추가로 매개변수입니다 (예를 들어, 'A (24, & # 39, Hello& # 39;)') 로 인해 또 전송될 수 있기 때문에 이 경우 예외를 에 인수 뚜르산을 isn& 구성자를 검색되어야 저들이요 t # 39.
그래, 그래, oop 그것은꿈의 구성되어 있습니다.
'"는 구성자를 init 클래스에 대한. 이 '자가' 매개변수입니다 인스턴스입니다 객체에는 (like '이' c++에서)) 는 다음을 가리킨다.
이 때 '가' 라는 방법을 init 객체인지 메모리 할당.
사용하는 것이 중요하다 '는' 자체 내의 매개변수입니다 object& # 39 의 방법을 통해 가치를 옛일에 하려면 객체에는. 예를 들어, 다음과 같은 '방법' init 구현할 수 있는 경우
네 'x' 와 'y' 의 init 매개 변수 약간만이라도 저장됩니까 스태킹하고 약간만이라도 폐기됩니다 메서드입니다 댁이라면 때 아웃해야 내시경이요 이러한 변수로 설정 '와' 그 '세트' self._x self._y com/go/4e6b330a_kr 멤버로 '점' 객체 (object) 의 수명이 다할 때까지 액세스할 수 있습니다).
간단한 설명 (예:
39 의 기대 속에 작은 차이가 나는 것이 도움이 됩니다 here& 간단한 예를 차이점에 대한 이해를 돕기 위해 사용된 변수 선언 및 변수, 클래스 내에 '' 기능을 init 내의 선언했다.
"'파이썬 클래스가 MyClass (객체): i = 123 데프 init (self): 345 셀프자이 =
a = MyClass () 보기인쇄 (앨리) 보기인쇄 (마이클레스트리) "' 출력: "' 345 123 "'
한 마디로.
'에서' init act like a 구성자를. # 39, ll 전달해야 하는 " you& self"; 모든 클래스에 대한 첫 번째 인수로 스케쳐내 기능을 동작할 수 있도록 비정적 메서드을 있다. " self"; 클래스에 대한 인스턴스 변수는 있다.
이 코드 (try out). 이를 통해 수많은 C 나 같은 프로그래머가 Py 배울 수 있다.
출력:
'제이'
'합' = 5
'클래스' Doc - 인사이드라면
init 구성자를 'Doc -'
'쇼' Doc - 인사이드라면
소멸자 삭제에서 객체에는 제이 '-'
이거 제 손으로 오네스탠딩 데 어려움을 겪었습니다. 읽은 후 여기에 대답을 했다.
제대로 이해할 수 없어 '방법' init 자체 파악해야 합니다.
'이' 이 인수만 수락됨 init 방법은 다음과 같습니다.
하지만 실제로 통과시킬 우리는 단지 두 개의 인수.
여기서 는 추가 인수 come from?
우리는 그렇게 할 때 우리는 객체의 속성뿐만 액세스하면 이름으로 (또는 참조별로). 여기에 대한 참조입니다 우리의 새 인스턴스를 객체. 우리는 이 방법을 사용하여 인스턴스입니다 객체에는 린스턴스.프린다리스트 프린다리스 액세스하십시오
개체 내에서 속성에 '방법' init 액세스하려면 객체에 대한 참조가 필요하다.
즉, 우리가 할 수 있는 방법을 init '에서'.
이렇게 객체 속성 값을) 으로 알려져 있다. 여기서 '' 메서드 및 속성 instance. arg2 init arg1 설정합니다.
출처: http://www.voidspace.org.uk/python/articles/OOP.shtml # init 방법
귀국 후 '정수' 이 '와' 니클라스 s.프 마이클레스트리 유효함 속성용 참조입니다 함수 객체 위에 각각 올랐다. 클래스 속성 값을 변경할 수 있도록 할 수 있다 '' 에 의해 할당된 마이클레스트리 할당에서는. '도' doc 유효한 속성용 닥슬링 되돌릴 속한 클래스: 간단한 예를 class" ";).
클래스 메서드를 호출할 때 ' ()', '클래스 인스턴스 init 정한다 ()' 를 새로 작성한 클래스를 자동으로 init 인스턴스입니다. 그러므로 이 예에서, 새로운 초기화되었습니다 인스턴스입니다 얻을 수 있습니다.
물론 ' ()' 방법을 init 인수만 유연성을 높이기 위해 할 수 있다. 이 경우, 주어진 클래스 인스턴스 () '에' init 인수만 작동자 전달됩니다. 예를 들어,
문서용으로 에서 볼 수 있는 공식 나를 가장 귀의하매.
이것은 내 예
클래스의 인스턴스를 만들 때 요금:
다음을 얻을 수 있습니다.
참고로 '자가' 이 될 수 있는 유효한 파이썬 식별자입니다. 예를 들어, 크리스 B& # 39 에서 쉽게 쓰기, 우리가 할 수 있는 것처럼, s 예:
또한 똑같은 협력할 것이라고 말했다. 그러나 다른 피토너스 더 쉽게 사용할 수 있기 때문에 그것을 알게되고 자체 것이 좋습니다.
, '1.' 는 기본적으로 하는 것, /" activate" initialize" " init 함수, 특정 객체에 대한 생성된 클래스, 속성 및 일치됨 해당 클래스.
39, & # 39 self& 기본적으로 를 사용해야 합니다. 키워드 내에서 여러 가지 기능을 변수로 사용하는 경우 같은 클래스. # 39 을 넣다 기본값과 설정하는 데 대해서도 init it&, s, 해당 클래스 내에서 다른 어떤 기능을) 이라고 부른다.
39, & # 39 는 self&. 대한 참조입니다 클래스 인스턴스
이제 인스턴스입니다 만들 수 있으며, 자체 파라메트가 foo 및 security. 방법을 통해 추가된 Python 이 경우:
하지만 통과될 수 있도록 할 수 있는 경우 메서드 호출 isn& 뿐만 아니라, t # 39 의 맥락에서, 아래 코드는 높여줍니까 클래스의 인스턴스를 같은 것입니다.
39, & # 39 self& 변수 이름을 가장 많았다. 단순히 발생원인. 아래 정의마다 똑같은 것입니다. 이러한 점을 고려하면 이는 매우 강력한 어떤 규칙을 따라야 한다고 말하고 있지만, 항상 않니다 유연한 성격에 대한 언어
그냥 데모 질문.
이 코드:
Here 'init 클래스의 객체가 인스턴스화되지 구성자를' 역할을 하는 이 함수가 호출될 때. '자가' 는 인스턴스화하며 객체에는.
그 결과 위의 명령문입니다 다음과 같이 됩니다.
>. 자체 무엇을 책임질래? 스크램블된 건 어떤 느낌일까? 것은 필수?
첫 번째 초기화 인수를 포함한 모든 클래스 메서드를 현재 클래스의 인스턴스를 참조입니다 항상 , . 이 인수는 규칙에 따라 항상 release. '자가'. Init 방법을 '자가' 는 새로 만들어진 객체에는. 그 방법, 이 용어는 다른 클래스 인스턴스 메소드) 라고 불렸다.
파이썬 , , , t # 39 doesn& 인력용 " self&quo 사용에 대한 있습니다. 모든 원하는 이름을 부여할 수 있습니다. 그러나 첫 번째 인수에 대한 참조입니다 객체에는 방식으로 정의마다 너희에게베풀어진 *. 파이썬 추가하므로 '자가' 인수 목록 당신꺼에요. 이 때 메서드을 전화하시기 추가할 필요가 없습니다.
39 의 init 메서드로부터 didn& 경우, t 는 자체 오류 메시지가 나타날 수 있습니다 다음
>. 어떤 방법을 산아래의 init 책임질래? 필요한 이유는? (etc.)
'초기화' 는 파선-짧은 초기화하려면. 컴포지션이 구성자를 얻을 수 있는 불렀으매 클래스의 인스턴스를 만들 때 필요한 것은 및 . 하지만 일반적으로 쓰는 것이 우리의 기본 init 설정하는 방법은 이 객체의 상태. 처음에 그런 의지가 있지 않으면 모든 객체의 상태를 설정되었습니다 don& # 39, 이 방법을 쓸 필요가 없다.
>. # 파이썬 'init' 와 '자가' what do they do? >. >. '무엇을' 자체 책임질래? 무슨 병인데요 데 목적을 두고 있는 것이다. 그것은 필수? >. >. '방법' 는 무엇을 init 책임질래? 필요한 이유는? (etc.)
예를 들어 이를 바탕으로 올바른 만들 때, 그러니까 나한테 올바르지 않습니다.
',' 를 만들 때 우리는 인스턴스입니다 객체에는 init 호출됨 사용자정의하기 객체 생성 후. 즉, # 39, & # 39 blah& 섬로비치 때 우리들은 '' 을 (를) ',' 아래 (어떤 것이든 될 수 있는) ',', 'it gets 함수를 전달된 init 인수로 블라':
이 주장은 '자체' 를 '' 에서 '섬로비치 인스턴스입니다 배정됩니다 an_object'.
나중에 이 개체의 메서드입니다 호출하십시오 우리가 할 수 있습니다.
즉, '수' 를 수행하는 점선 조회 기능, 인스턴스입니다 an_object.method 바인딩됩니다 인스턴스입니다 및 방법 (위) 로 불리는) 은 지금 " bound"; 우리는 이 방법 - 즉 않아도 통과를 명시적으로 인스턴스 메소드 호출이 그것이다.
이 형식의 인스턴스 메소드 호출 가져옵니다 전송되었기 때문에 바인딩되지 조회, 호출될 때 관심용 있는모든 실행하므로 코드 전송되었기 프로그래밍되었습니다 진행하십시오.
셀프 (self) '' 지 '' 암시적 인수 호출됨 규칙에 따라. 우리는 다른 이름을 사용할 수 있는 가능성이 다른 Python 프로그래머, tar 및 파이썬 법적고지 확장하지만 확보하십시오 의해 페더링됨 변경하십시오 경우 something else.
'init' 는 특별한 방법을 [나와 파이썬 데이터 모델 문서용으로] [1]. 그 직후 만들어진 호출됨 인스턴스입니다 (일반적으로 통해 'new' - '불변' 필요하지 않는 경우에는 비록 new 하위 클래스화 데이터 형식).
[1]: https://docs.python.org/3/reference/datamodel.html # object.init
여기서 로리랑 기록되었으므로 꽤 잘 단순하다. https://www.jeffknupp.com/blog/2014/06/18/improve-your-python-python-classes-and-object-oriented-programming/
이 때문에 읽기 위 링크를 참조.
>. '자가'? 그래서 what& # 39 에 있는 모든 고객이 자체 매개변수입니다 >. 방법? What is it? 왜, it& # 39 의 인스턴스, 그럼요! 다른 동일팔레트에 >. 같은 방법으로 메서드입니다 eventtest 방법에 대해 회수 회수 >. 일부 추상 customer& 돈을 # 39 에 계정. 호출하십시오 >. 제프리위스트로 (100.0) 는 해당 명령을 사용할 수 있는 제프 >. 인스턴스입니다. >. >. 우리가 말하고 외면하였나니 데프 회수 (자체, 금액), re: # 39 라고 here& # 39 의 어떻게 we& ". >. 고객 돈을 회수하지 너회들 객체에는 디스크입니다. we& # 39, ll call self) 와 >. 달러 그림 (디스크입니다. we& # 39, ll call 금액). self 는 이 인스턴스입니다 >. 고객 철회를 촉구하고 있는 중입니다. # 39 that& s not me 있다. >. 유익한, 중 하나. 이제 막 제프리위스트로 (100.0) 의 대표 >. 완벽하게 유효함 (자주 있지 않은 경우, 이는 쿠스토메리위스트로 (jeff, 100.0) >. 본) 코드. >. >. 쉽게 이해할 수 있지만, 다른 방법에 대한 자체 과민반을을 init init 어때? 이 때, 우리들은 init we& # 39, re in 만드는 과정을 객체에는 미확인범은 어떻게 될 수 있는데, 이미 자체? 파이썬 확장할 수 있게 >. 자체 패턴을 객체가 아니라, 비록 구축도 >. # 39 이 doesn&, t 정확히요 적합합니다. 제프 = 고객 (& # 39, 제프 것을 상상해 보라 >. # 39 1000.0 knupp&,) 는 제프 (jeff, & # 39, 제프 동일합니까 호출하십시오 = 고객 >. # 39, knupp& 1000.0); # 39 의 제프 that& 전달된, s 는 베지로프도 결과. >. >. 이 때문에, 우리는 하나님이 매입옵션 init 말해 객체에는 초기화하지 >. self.name = 같은 이름. 이후, self 는 인스턴스입니다 너희에게베풀어진 >. 이 같은 것 같습니다, 이는 (jeff.name) = name >. jeff.name = & # 39, 제프 크누프. 마찬가지로, 셀프리발런스 = 밸런싱할 동일합니다. >. 제프리발런스 = 1000.0 있다. 이후, 이 두 줄을 고려하면 >. 고객 객체에는 initialized" "; 그리고 바로 사용할 수 있게 됩니다. >. >. Init 너희는너희가 '조심' >. >. 그 후 수 있는 init 끝났을 요청자에게 하여금 solaris. >. 객체인지 바로 사용할 수 있습니다. 즉, 고객 (& # 39, 제프 Knupp& # 39, 이후 제프 = >. 우리가 요구하는 1000.0), 제프, 배치 및 회수 시작할 수 있다. 제프는 완전 초기화되었습니다 객체에는.