2010/12/05

pythonのクラス

モジュール


# -*- coding: utf-8 -*-

class testclass2:
def __init__(self , code , str = "init string"):
self.code = code
self.str = str

def setCode(code):
self.code = code
def setStr(str):
self.str = str
def showStatus():
print "code = " + self.code
print "str = " + self.str


これをメインで呼び出して

# -*- coding: utf-8 -*-

if __name__ == '__main__':
from mod000 import testclass2
testclass2 = testclass2(4 , "日本語")

testclass2.showStatus()



ってすると
TypeError: showStatus() takes no arguments (1 given)
てエラーがでる。
def showStatus(self)
にしないといけないとか?

showStatus(self)
にするとエラーが変わって
TypeError: cannot concatenate 'str' and 'int' objects
ってなったこれはstringとintを結合出来ないってエラーだな


def showStatus(self):
print "code = " + str(self.code)
print "str = " + self.str


これで動いた。
なんか引数のないメソッドが作れない?のに違和感を感じる。
まぁなんか思い違いしてるっぽいけど、
放置でいいやwそのうち分かる日がくるでしょう

0 件のコメント:

コメントを投稿