首页 > 其他分享 >Request对象

Request对象

时间:2024-07-10 13:43:40浏览次数:8  
标签:__ obj 对象 self Request xx print

目录

Django Request和参数

1. 属性

1.1 先学习下面向对象知识点

获取对象中的成员时,本质上会调用 __getattribute__方法,默认我们不定义就用父类中的


class Request(object):
    def __init__(self, req, xx):
        self._request = req
        self.xx = xx


obj = Request(1, 2)
print(obj.xx)
print(obj._request)


class Request(object):
    def __init__(self, req, xx):
        self._request = req
        self.xx = xx

    def __getattribute__(self, item):
        print("执行__getattribute__", item)
        return super().__getattribute__(item)


obj = Request(1, 2)
print(obj.xx)
print(obj._request)
# int(obj.v1) # 报错
# 注意:如果不是对象中的成员,就会报错。

不过想要访问对象中不存在成员,则可以通过定义 __getattr__实现。

  • 先执行自己的 __getattribute__
  • 再执行父类的__getattribute__
  • 是自己对象,直接获取并返回
  • 不是自己对象,调用__getattr__

class Request(object):
    def __init__(self, req, xx):
        self._request = req
        self.xx = xx

    def __getattribute__(self, item):
        print("执行__getattribute__", item)
        return super().__getattribute__(item)

    def __getattr__(self, item):
        print("__getattr__", item)
        return 999


obj = Request(1, 2)
print(obj.xx)
print(obj._request)
print(obj.v1)

标签:__,obj,对象,self,Request,xx,print
From: https://www.cnblogs.com/khalil12138/p/18293885

相关文章

  • JavaSE学习笔记第二弹——对象和多态(上)
    目录面向对象基础面向对象程序设计的定义类的基本结构成员变量成员方法方法定义与使用设计练习方法重载构造方法静态变量和静态方法String和StringBuilder基本含义区别总结今天我们继续来学习JavaSE,扩展和Java相关的知识,与大家共勉。今天的主题是对象和多态,希......
  • JVM是如何创建一个对象的?
    哈喽,大家好......
  • Simple WPF: WPF实现一个MINIO等S3兼容对象存储上传文件的小工具
    最新内容优先发布于个人博客:小虎技术分享站,随后逐步搬运到博客园。创作不易,如果觉得有用请在Github上为博主点亮一颗小星星吧!目的之前在阿里云ECS99元/年的活动实例上搭建了一个测试用的MINIO服务,以前都是直接当基础设施来使用的,这次准备自己学一下S3兼容API相关的对象存储开......
  • C++类和对象(上篇)
    文章目录前言一、面向过程和面向对象初步认识二、类的引入三、类的定义六、类的实例化七、类的对象大小的计算八、类成员函数的this指针总结前言类和对象是面向对象编程的两个核心概念。类是一种抽象的数据类型,是描述对象共同特......
  • IEC62056标准体系简介-2.IEC62056标准体系及对象标识系统(OBIS)
     1. IEC62056标准体系        IEC62056标准体系目前共包括六部分,见图1:第61部分:对象标识系统第62部分:接口类第53部分:COSEM应用层第46部分:使用HDLC(HighLevelDataLinkControl)协议的数据链路层第42部分:面向连接的异步数据交换的物理层服务和过程第21部分:直接本地......
  • [Java面向对象]
    面向对象修饰符接口接口中方法的访问修饰符默认是publicabstract在Java接口中,接口中的方法默认是公共的(public),且不允许使用其他的访问修饰符。接口中定义的方法会被隐式地指定为publicabstract,这两个修饰符可以省略,因为它们是默认的。所以,Java接口中方法的定义形式通......
  • Docker 创建s3 对象存储服务
    Docker创建s3对象存储服务docker环境不同,可能有些差异主要是因为一些服务需要用到s3存储,因此使用docker部署服务;MinIOS3对象存储具有以下一些优势:简单性与轻量级:部署和维护简单,可以轻松地在各种环境中运行,包括裸金属、Docker和Kubernetes等。高性能:专为高吞......
  • 新增模型对象操作
    对模型对象进行新增,有两种方式:<!--第一种:类SQL方式-->insert_stmt=insert(User).values(name='name1')withSession()assess:sess.execute(insert_stmt)sess.commit()<!--未绑定参数-->insert_stmt2=insert(User)withSession()assess:sess.execute(insert_......
  • 简单的Java面向对象小游戏并使用三层架构(表示层、业务逻辑层、数据访问层)
    本人详解作者:王文峰,参加过CSDN2020年度博客之星,《Java王大师王天师》公众号:JAVA开发王大师,专注于天道酬勤的Java开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯山峯转载说明:务必注明来源(注明:作者:王文峰哦)简单的Java面......
  • JVM是如何创建一个对象的?
    哈喽,大家好......