1、
总结 __new__, __init__ , __str__ , __rstr__ , __getitem__ , __setitem__的使用方法
__init__(self[, ...])构造器,创建实例
__new__(cls[, ...])cls为实例化参数,返回给init
__str__(self)打印对象、强转数据格式、使用%s
__rstr__不知道,是不是想问__repr__
__getitem__(self, key) 定义获取容器中元素的行为,相当于 self[key]
__setitem__(self, key, value) 定义设置容器中指定元素的行为,相当于 self[key] = value
2、
import time
class tim():
def __init__(self):
self.__start = None
self.__stop = None
self.__c = 0
def __str__(self):
if self.__c == 0:
return "计时未启动!"
else:
return ("计时: %d 秒" % self.__c)
def start(self):
self.__start = time.time()
print("计时器启动")
def stop(self):
if (not self.__start):
print("计时未启动!请start启动!")
else:
print("计时器结束!")
self.__stop = time.time()
self.__c = self.__stop - self.__start
print("计时: %d 秒" % self.__c)
return self.__c
def __add__(self, other):
print("共计时 %d 秒" % int(self.__c + other.__c))
t1 = tim()
print(t1)
t1.stop()
t1.start()
time.sleep(2)
t1.stop()
t2 = tim()
t2.start()
time.sleep(3)
t2.stop()
print(t2)
print(t1 + t2)
参考了网上的方法,编译首先需要了解time声明,time.sleep用法。编译过程中需要注意定义私有