Python中_str__および_repr__
932 ワード
クラスのインスタンスをstrにするには、特殊なメソッドstr()を実装する必要があります.
インタラクティブコマンドラインでprintを使用して試します.
ただし、変数pを直接叩くと:
str()は呼び出されないようです.
Pythonはstr()とrepr()の2つの方法を定義しているため、str()はユーザーに表示され、repr()は開発者に表示される.
サボってreprを定義する方法があります.
慕課網から、廖雪峰先生
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
def __str__(self):
return '(Person: %s, %s)' % (self.name, self.gender)
インタラクティブコマンドラインでprintを使用して試します.
>>> p = Person('Bob', 'male')
>>> print p
(Person: Bob, male)
ただし、変数pを直接叩くと:
>>> p
str()は呼び出されないようです.
Pythonはstr()とrepr()の2つの方法を定義しているため、str()はユーザーに表示され、repr()は開発者に表示される.
サボってreprを定義する方法があります.
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
def __str__(self):
return '(Person: %s, %s)' % (self.name, self.gender)
__repr__ = __str__
慕課網から、廖雪峰先生