属性:通过方法改造出来
# 1.编写时
# 方法上方写@property
# 方法参数:只有一个self
# 2.使用时:无需加括号 对象.方法
# 3.应用场景:对于简单的方法,当无需传参且有返回值时,可以使用 @property
class Foo(object):
def _init_(self):
...
@property
def start(self):
return 1
@property
def end(self):
return 10
obj=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_list
self.page =page
self.per_page_num = per_page_num
@property
def start(self):
"""
计算开始行数
:return:
"""
return (self.page -1)*self.per_page_num
@property
def end(self):
"""
计算结束行数
:return:
"""
return (self.page)*self.per_page_num
def 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":
break
else:
paging=Paging(data_list,int(page))
paging.show()
本文介绍了Python中如何使用@property装饰器创建简单的只读属性,以及在分页类中的应用。通过实例展示了如何定义和使用带有分页功能的类,用户可以输入页码查看对应范围的数据。
5582

被折叠的 条评论
为什么被折叠?



