马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
知识点一:__str__函数:简单明了,就是用来输出字符串的丫class A():
def __str__(self):
return "汪蛋加油!"
>>> a = A()
>>> print(a)
汪蛋加油!
可见要用print(a)才能输出__str__的返回值。
知识点二:__repr__函数:简单明了,就是用来输出字符串的丫
与__str__函数略有不同,如下class B():
def __repr__(self):
return "汪蛋加油!"
>>> b = B()
>>> b
汪蛋加油!
>>> print(b)
汪蛋加油!
>>>
比__str__好像厉害一些。
知识点三:类的方法名如果和属性名一致的话,属性会覆盖了方法class A():
def __init__(self):
self.lala = 0
def lala(self):
print("这是拉拉!")
知识点四:下面是小甲鱼课堂讲解的定时器:import time as t
class MyTimer():
def __init__(self):
self.unit = ['年', '月', '天', '小时', '分钟', '秒']
self.prompt = "未开始计时!"
self.lasted = []
self.begin = 0
self.end = 0
def __str__(self):
return self.prompt
__repr__ = __str__
def __add__(self, other):
prompt = "总共运行了"
result = []
for index in range(6):
result.append(self.lasted[index] + other.lasted[index])
if result[index]:
prompt += (str(result[index]) + self.unit[index])
return prompt
#开始计时
def start(self):
self.begin = t.localtime()
self.prompt = "请先调用stop()停止计时!"
print ("开始计时...")
#停止计时
def stop(self):
if not self.begin:
print("请先调用start()开始计时!")
else:
self.end = t.localtime()
self.__cala__()
print("计时结束!")
#内部方法,计算运行时间
def __cala__(self):
self.lasted = []
self.prompt = "总共运行了"
for index in range(6):
self.lasted.append(self.end[index] - self.begin[index])
if self.lasted[index]:
self.prompt += (str(self.lasted[index]) + self.unit[index])
# 为下一轮计时初始化变量
self.begin = 0
self.end = 0
可实现的功能如下:>>> t1 = MyTimer()
>>> t1
未开始计时!
>>> t1.stop()
请先调用start()开始计时!
>>> t1.start()
开始计时...
>>> t1.stop()
计时结束!
>>> t2 = MyTimer()
>>> t2.start()
开始计时...
>>> t2.stop()
计时结束!
>>> t1 + t2
'总共运行了8秒'
最后,感谢小甲鱼!!!
|