__getattribute__(self, obj) 这个方法中的obj这个参数

class Itcast(object):    def __init__(self, subject1):        self.subject1 = subject1        print("^^^^^^^-------%s" %self.subject1)        self.subject2 = ‘cpp‘

def __getattribute__(self, obj):        print("===========1============")        print("-------%s" %obj)        if obj == ‘subject1‘:

print(‘log subject1‘)             return ‘redirect python‘        else:             return object.__getattribute__(self,obj)

def show(self):        print(‘this is Itcast‘)

s = Itcast(‘python‘)#print(s.subject1)s.show()#print(s.subject2)===============================================

===========1============
-------subject1
log subject1
^^^^^^^-------redirect python
===========1============
-------show
this is Itcast

这个方法是在我们访问类的属性或方法时自动调用(在我们访问属性前调用)

这个方法中有个参数obj 会指向我们访问的属性名和方法名



原文地址:https://www.cnblogs.com/seeworld/p/8445861.html

时间: 2024-08-30 10:59:24

__getattribute__(self, obj) 这个方法中的obj这个参数的相关文章

如果给JQ的ajax方法中的success()传入参数?

当时在使用JQuery提供的Ajax技术的时候,我有个需求,就是要给它请求成功后调用的success()方法传入参数: 所以,我就直接这样子写了: <script> function getTypeList(name){ $.ajax({ url : '<c:url value="admin/type_loadTypeList.action"/>', type : 'get', contentType : "text/html;charset=utf-

idea java方法中 传多个参数对象 的复制粘贴快速处理方法

比如像这种的传多个参数对象,我是直接复制过来,然后把第一个字母改成大写,然后后面的实例对象敲一个第一个字符的小写就直接出来了 原文地址:https://www.cnblogs.com/kinome/p/10314670.html

Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)

转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45027641 自定义view/viewgroup要重写的几个方法:onMeasure(),onLayout(),onDraw().(不熟悉的话可以查看专栏的前几篇文章:Android自定义控件系列二:自定义开关按钮(一)). 今天的任务就是详细研究一下protected void onMeasure(int widthMeasureSpec, int heightMeasureSpe

C#方法中的各类参数

居家隔离的第26天,还在持续的疫情着实让人担忧,看着每天新增的确认人数数字,也在为那些家庭祝福,每当想想那不是一个数字是一条条鲜活的生命时就格外沉重.利用闲在家里的时间巩固C#语言的一个难点.最近在温习刘铁锰老师教学视频<C#语言入门详解>加上翻看其他的电子图书巩固自己对一些难点知识的印象,好记性不如烂笔头,组织语言记录下来效果更佳.各种方法通过不同的逻辑和顺序组合在一起就形成了程序,常规都是带有参数的方法,参数可以分为以下几类: 传值参数 引用参数 输出参数 数组参数 可选参数 具名参数 扩

3D中的OBJ文件格式详解

http://www.cnblogs.com/slysky/p/4081307.html 常见到的*.obj文件有两种:第一种是基于COFF(Common Object File Format)格式的OBJ文件(也称目标文件),这种格式用于编译应用程序:第二种是Alias|Wavefront公司推出的OBJ模型文件.本文对第二种obj模型文件进行分析. 3D文件格式,常见的有几种 "*.3ds","*.max","*.lw","*.mb

3D中的OBJ文件格式详解(转载)

OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导,也可以通过Maya读写.比如你在3dsMax或LightWave中建了一个模型,想把它调到Maya里面渲染或动画,导出OBJ文件就是一种很好的选择.目前几乎所有知名的3D软件都支持OBJ文件的读写,不过其中很多需要通过插件才能实现.OBJ文件是一种文本文件,可以直接用写字板打开进行查看和编辑修改

for循环,forin循环和Array.every(),obj.forEach()方法运行速度对比

for循环和forin循环是ES3中的数组和对象迭代方法,在ES5中加入了原生方法Array.every()和object.forEach()方法来迭代,下面的例子用来比较两种方式的运行速度. 注意:IE不兼容. /** * Created by Administrator on 2016/12/22. * for()循环和Array.every()方法运行速度 */ var Arr=[5,6,12,23,0,11,"wasd",'on',34,22,111,8,9,89,'off',

java中String.valueOf(obj)、(String)obj与obj.toString()有什么区别

方法1:采用 Object.toString()方法 在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法.但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常.采用这种方法时,通常派生类会覆盖Object里的toString()方法. 方法2:采用类型转换(String)object方法这是标准的类型转换,将object转成String类型

详解SpringMVC中Controller的方法中参数的工作原理

前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html SpringMVC中Controller的方法参数可以是Integer,Double,自定义对象,ServletRequest,ServletResponse,ModelAndView等等,非常灵活.本文将分析SpringMVC是如何对这些参数进行处理的,