난 3 일 동안 열심히 노력하여 __init__
과 "self"를 배우기 시작했습니다. 어려운 파이썬 학습 42에서 시작하여 파이썬 설명서의 일부인 Alan Gauld's chapter on Object-Oriented Programming, Stack threads like this one on "self", and this one을 읽으려고 계속합니다. 솔직히, 나는 나가기 전까지는 벽돌로 얼굴에 맞을 준비가되어있다.파이썬 : __init __ (self, foo)는 반드시 self.foo = foo를 따라야합니다.
즉, 처음에는 __init__
초기 정의에서 정말 공통된 규칙을 발견했습니다.이 정의는 (self, foo)를 후속 조치 한 다음 해당 정의 내에서 self.foo = foo를 즉시 선언하는 것입니다.
, ex42 : 앨런 Gauld에서
class Game(object):
def __init__(self, start):
self.quips = ["a list", "of phrases", "here"]
self.start = start
:
def __init__(self,val): self.val = val
내가받지 못했습니다 하나의 큰 일이 있다고 볼 수있는 내가 그 끔찍한 공간에있어, 나는 그것에 대해 얼마나 많이 읽었는지에 상관없이 불투명 한 채로 남아 있습니다. 어쩌면 누군가가이 약간의 일관성을 나에게 설명 할 수 있다면 빛이 켜질 것입니다. 이는 변수 인 "foo"가 항상 첨부 된 def에 자동으로 할당되는 "self"매개 변수에 포함 된 (foo) 매개 변수와 동일하다고 말할 필요가 있기 때문입니다.
좋은 설명 – Wei
중요한 것은 'self.abc'와 같은 속성에 인수를 할당 할 수 있다는 것입니다. 동일한 방식으로 속성의 이름을 지정하는 것은 코드를 구조화하는 방법에 불과합니다. –
@FelixKling : 좀 더 명확하게하기 위해 약간의 수정을했습니다. 감사합니다. – Mehrdad