首页 > 其他分享 >基于面向对象的数据封装

基于面向对象的数据封装

时间:2023-07-30 23:13:10浏览次数:41  
标签:status 基于 封装 self 面向对象 result error

基于面向对象的数据封装

目录

1 基于面向对象的数据封装优点

  • 将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;
  • 隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;
  • 对类的属性和方法增加 访问权限控制。

2 示例

class BaseResponse(object):
    def __init__(self, status=True, data=None, error=None):
        self.status = status
        self.data = data
        self.error = error
    @property
    def dict(self):
        return self.__dict__

def test(request):
    result = BaseResponse()
    nid = request.GET.get('id')
    if nid == "10":
        result.data = "ok"
    else:
        result.error = "error"
        result.status = False
    return JsonResponse(result.dict)

def test2(request):
    result = BaseResponse()
    nid = request.GET.get('id')
    if nid == "10":
        result.data = "ok"
    else:
        result.error = "error"
        result.status = False
    # 若没有@property装饰器的方法,需要使用以下方式调用
    return JsonResponse(result.__dict__)

标签:status,基于,封装,self,面向对象,result,error
From: https://www.cnblogs.com/f-carey/p/17581831.html

相关文章

  • 基于内容的个性化推荐算法-电影推荐系统
    之前在博客中介绍了协同过滤算法在电影推荐系统中的应用。今天我将向大家分享另一种常见的推荐算法——基于内容的推荐算法,并使用它来实现一个个性化的电影推荐系统。基于内容的推荐算法原理:基于内容的推荐算法是一种常用的推荐方法,它通过分析电影本身的特征来进行推荐。在电影推荐......
  • 基于标签的个性化推荐算法-电影推荐系统
    之前在博客中介绍了协同过滤算法和基于内容的推荐算法在电影推荐系统中的应用。今天我将向大家介绍另一种常见的推荐算法——基于标签的推荐算法,并使用它来实现一个更加个性化的电影推荐系统。基于标签的推荐算法原理:基于标签的推荐算法是一种利用用户标记信息进行推荐的算法。在电......
  • 基于AI的数据增广:生成数据作为训练样本
    BenchmarkingandAnalyzingGenerativeDataforVisualRecognition大型预训练生成模型的进展,扩展了它们作为有效数据生成器在视觉识别中的潜力。本研究深入探讨了生成图像的影响,主要比较了使用外部数据(即生成vs.网络检索vs.原始)的范式。主要贡献是:1)GenBench构建:设计了GenBen......
  • 基于JAVA的程序设计语言网上考试系统
    科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设VisualC程序设计......
  • js的面向对象:类的定义、对象的创建、属性、方法
    //js当中定义一个类functionUser(a,b){//属性this.usercode=athis.username=b//方法(实例方法,通过对象调用this.doSome=function(){console.log(this.username+"......
  • 【个人模板封装】树套树、高维数据结构
    前言这是我个人使用的一些模板封装,限于个人能力,可能存在诸多不足与漏洞,在未加测试直接使用前请务必小心谨慎。更新可能会滞后于我本地的文档,如有疑问或者催更之类的可以在评论区留言。全文模板测试均基于以下版本信息,请留意版本兼容问题。Windows,64bitG++(ISOC++20)stack......
  • Vue3中使用TypeScript封装axios遇到的问题(AxiosRequestConfig)
    如果您有更好的解决方法,欢迎评论区评论。版本"dependencies":{"axios":"^1.0.0","vant":"^4.6.3","vue":"^3.3.4","vue-router":"^4.2.4","vuex":&quo......
  • Java学习6-面向对象基础 成员变量、成员方法、构造方法、this关键字、静态字段、静态
    一、面向对象概述面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。面向过程的代表语言:C语言当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻......
  • AJAX--基于json格式的数据交换
    前端代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>获取信息列表</title>......
  • Mac部署AIGC图片生成服务——基于stable-diffusion
    Mac部署AIGC图片生成服务——基于stable-diffusionAIGC即人工智能内容生成,是目前非常火的一个概念。随着各种大模型的问世,通过AI来生成内容的能已经越来越强大。本文将从应用实践方面进行介绍如何在自己的PC电脑上部署一个强大的AI图片生成服务。关于AI绘图,我相信你一定不太陌生,......