클래스
기본 형태
class 클래스이름[(상속 클래스명)]:
<클래스 변수 1>
<클래스 변수 2>
...
def 클래스함수1(self[, 인수1, 인수2,,,]):
<수행할 문장 1>
<수행할 문장 2>
...
def 클래스함수2(self[, 인수1, 인수2,,,]):
<수행할 문장1>
<수행할 문장2>
...
...
self라는 것이 매우 특이합니다. self.name = name 이런식으로 쓸 수가 있는데 name이 클래스 변수로 선언이 되어있지 않아도 사용할 수 있습니다. self.name을 할 때 만드는 것 같은데 변수들의 scope이 어떻게 되는 것인지는..흠.. 모르겠군요.
클래스의 인스턴스들만 클래스에 있는 메소드를 사용하도록 하려면 저기 있는 self라는 녀석을 사용해야 합니다.
class Keesun:
def setData(self, name, age):
self.aName = name
self.aAge = age
def setData(self, name, age):
self.aName = name
self.aAge = age
def eat(self, something):
print "%s, %s를 먹는다." %(self.aName, something)
>>> me = Keesun()
>>> me.setData("기선", 26)
>>> me.aAge
26
>>> me.eat("과자")
기선, 과자를 먹는다.
>>> me.setData("기선", 26)
>>> me.aAge
26
>>> me.eat("과자")
기선, 과자를 먹는다.