类属性:定义 @property class Book(object): def __init__(self, name, author, state, bookIndex): self.name = name self.author = author # 0: 借出, 1:未借出 self.__state = state self.bookIndex = bookIndex # @property: 定义一个类方法为私有属性的名称;让用户可以直接访问, 但不能任意修改; @property def state(self): return self.__state # @属性名.seeter: 给属性赋值时先做判断; 当属性名=value会自动调用该函数; @state.setter def state(self, value): if value in [0,1]: self.__state = value else: raise TypeError("状态只能是0或者1") #当del 属性名, 会自动调用该函数; @state.deleter def state(self): print "deleting....." b = Book('python', 'a', 1, 'HX001') print b.state b.state = 0 print b.state del b.state ``` 1 0 deleting..... 框架之信息分页显示 页面显示信息很多时,一般都会分页显示,当用户选择N页时,显示改页的数据开始(start)和结束(end)
hosts[0:10] start= (1-1)*10 end=1*10 hosts[10:20] start=(2-1)*10 end=2*20
hosts = ['172.25.254.' + str(i) for i in range(100)] class Page(object): # current_page: 页数 # per_items: 每页显示的元素数; def __init__(self, current_page=1, per_items=10): self.__current_page = current_page self.__per_items = per_items @property def start(self): val = (self.__current_page - 1) * self.__per_items return val @property def end(self): val = self.__current_page * self.__per_items return val p = Page(3,5) print hosts[p.start:p.end] ``` ['172.25.254.10', '172.25.254.11', '172.25.254.12', '172.25.254.13', '172.25.254.14']