나는 짧은 시간 동안 만 클래스를 사용하고 메소드를 작성할 때 모든 변수를 자체 참조로 만듭니다. 자기 .foo."self"는 언제 필요합니까?
그러나 wxPython in Action 책을 살펴보면서 "self"가 항상 사용되지는 않습니다. 예 :
import wx
class TextFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'Text Entry Example',
size=(300, 100))
panel = wx.Panel(self, -1)
basicLabel = wx.StaticText(panel, -1, "Basic Control:")
basicText = wx.TextCtrl(panel, -1, "I've entered some text!",
size=(175, -1))
basicText.SetInsertionPoint(0)
pwdLabel = wx.StaticText(panel, -1, "Password:")
pwdText = wx.TextCtrl(panel, -1, "password", size=(175, -1),
style=wx.TE_PASSWORD)
sizer = wx.FlexGridSizer(cols=2, hgap=6, vgap=6)
sizer.AddMany([basicLabel, basicText, pwdLabel, pwdText])
panel.SetSizer(sizer)
아래에는 "self"가 사용됩니다.
import wx
class ButtonFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'Button Example',
size=(300, 100))
panel = wx.Panel(self, -1)
self.button = wx.Button(panel, -1, "Hello", pos=(50, 20))
self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
self.button.SetDefault()
def OnClick(self, event):
self.button.SetLabel("Clicked")
정확하게 기억한다면 "self"는 클래스의 특정 인스턴스를 참조하므로 언제 필요하지 않습니까? 엄지의 일반적인 규칙이 있습니까?
속는 : http://stackoverflow.com/questions/68282/why-do-you-need-explicitly-have-the-self-argument-into-a-python-method –
내가 검색 할 때 어떻게 이런 질문을 찾을 수 없습니까? 이것은 일어난 6 번째 시간과 같습니다. 링크를 제공해 주셔서 감사합니다. – crystalattice