あなたの質問に答えるために-何も出力return
しませんが、インタラクティブなPythonプロンプトは最後のステートメントの値を出力するので、少し混乱します。例:
Python 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
ただし、内容を含むファイルを作成し1+1
てPythonスクリプトとして実行すると、何も出力されません。
あなたは初心者だと言っているので、コードを改善する方法についていくつかの指針を示します。
class className:
def createName(self, name):
self.name = name
def displayName(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
className
冗長性があるので、クラスの名前を変更する必要があります。Name
また、新しいスタイルのクラスは常に継承する必要がobject
あるため、定義を少し変更してみましょう。
class Name(object):
def createName(self, name):
self.name = name
def displayName(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
何かを作成することは、classesメソッドをオーバーライドすることによって自動的に行われます。__init__()
例えば:
class Name(object):
def __init__(self, name):
self.name = name
def displayName(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
このようにして、クラスをインスタンス化するときに名前をすでに初期化できます。
first = Name("Jack")
第二に、メソッドをオーバーライドdisplay
することによって慣用的に処理されます。__repr__
class Name(object):
def __init__(self, name):
self.name = name
def __repr__(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
このように、あなたは2つのことをする必要があるだけです:
>>> n = Name("Jack")
>>> print n
Jack