関数の書き換え
4877 ワード
class Person:
def __init__(self,name,hobby):
self.name = name
self.hobby = hobby
per = Person(' ','coding')
print(per)
実行結果:
<__main__.Person object at 0x00000210C403F2B0>
ここでは関数を書き直します
class Person:
def __init__(self,name,hobby):
self.name = name
self.hobby = hobby
def __str__(self):
return '%s-%s'%(self.name,self.hobby)
per = Person(' ','coding')
print(per)
実行結果:
-coding
オブジェクトを印刷するときに_を書き換えます.str__関数を使用すると、私たちの考えの形式で出力できますが、ここでは、_str__関数の戻り値は、クラスに存在しない場合は文字列でなければなりません.str__,存在_repr__を使用して書き換えることができます.repr__,そして__を使いますstr__ = __repr__ 次のようになります.
class Person:
def __init__(self,name,hobby):
self.name = name
self.hobby = hobby
def __repr__(self):
return '%s-%s'%(self.name,self.hobby)
__str__ = __repr__
per = Person(' ','coding')
print(per)