属性:通过方法改造出来 # 1.编写时 # 方法上方写@property # 方法参数:只有一个self # 2.使用时:无需加括号 对象.方法 # 3.应用场景:对于简单的方法,当无需传参且有返回值时,可以使用 @property class Foo(object):def _init_(self):...@propertydef start(self):return 1@propertydef end(self):return 10obj=Foo() print(obj.start) print(obj.end)
练习:分页
class Paging:"""分页类"""def __init__(self,data_list,page,per_page_num=10):"""初始化:param data_list: 所有的数据:param page: 当前要看的页:param per_page_num: 毎页要显示的数据行数:return: """self.data_list = data_listself.page =pageself.per_page_num = per_page_num@propertydef start(self):"""计算开始行数:return: """return (self.page -1)*self.per_page_num@propertydef end(self):"""计算结束行数:return: """return (self.page)*self.per_page_numdef show(self):"""打印:return: """for item in self.data_list[self.start:self.end]:print(item)data_list=[] for i in range(1000):data_list.append("data_%s"%i)while 1:page=input("请输入要查看的页码,q退出").strip()if page.lower()=="q":breakelse:paging=Paging(data_list,int(page))paging.show()