特殊方法
特殊方法一般不会手动调用
会在特殊时刻会自动调用
// An highlighted block
class Person(object):
"""docstring for Person"""
def __init__(self, name,age):
self.name = name
self.age=age
#__str__()这个特殊的方法会在尝试将对象转换为字符串的时候调用
他的作用可以用来指定对象转换为字符串的结果(print函数)
def __str__(self):
return 'Person [name=%s,age=%d]'%(self.name,self.age)
# __repr__()这个特殊的方法会在对当前对象使用repr()函数时调用
# 它的作用是指定对象在‘交互模式’中直接输出的效果
def __repr__(self):
return 'Hello'
# __gt__会在对象做大于比较的时候调用,该方法的返回值将作为比较的结果
需要两个参数一个self作为当前对象,other表示和当前对象比较的对象
def __gt__(self,other):
return self.age>other.age
def __len__(self):获取对象的长度
#通过__bool__来指定对象转换为布尔值的时候
def __bool__(self):
return self.age>17
p1=Person('sun',19)
print(p1)
print(repr(p1))
print(p1>p2)
print(bool(p1))