python 中的__getattr__和__setattr__
__getattr__为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法
__setattr__当设置类实例属性时自动调用,如j.name=5 就会调用__setattr__方法 self.[name]=5
因为这个类是从dict继承来的,是dict的超类
例子:
class p():s = 2def __getattr__(self, item):return "hello"
d = p()
print(d.s)
print(d.p)
输出:
2
hello
python 中的__getattr__和__setattr__相关推荐
- python中的__dict__,__getattr__,__setattr__
python class 通过内置成员__dict__ 存储成员信息(字典) 首先用一个简单的例子看一下__dict__ 的用法 class A():def __init__(self,ax,bx): ...
- Python中的getattr()和__getattr__方法
在看python核心编程时,看到了getattr()内建函数和__getattr__,但不太理解,就仔细的看了下并查阅了一些资料,大致了解了它们是做什么的. getattr() 先在python解释器 ...
- python中getitem_Python类中的魔法方法之 __getitem__ 和 __getattr__
1.getitem 方法 使用这个方法最大的印象就是调用对象的属性可以像字典取值一样使用中括号['key'] 使用中括号对对象中的属性进行取值.赋值或者删除时,会自动触发对应的__getitem__. ...
- python中的新式类与旧式类的一些基于descriptor的概念(下)
3. Descriptor介绍 3.1 Descriptor代码示例 3.2 定义 3.3 Descriptor Protocol(协议) 3.4 Descriptor调用方法 4. 基于Descri ...
- python中的新式类与旧式类的一些基于descriptor的概念(上)
python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...
- python中append函数合并列表且列表内数字从高到低_35个高级Python知识点总结
No.1 一切皆对象 众所周知,Java中强调"一切皆对象",但是Python中的面向对象比Java更加彻底,因为Python中的类(class)也是对象,函数(function) ...
- python中标识符下划线用作开头_python python中那些双下划线开头的那些函数都是干啥用用的...
1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...
- Python中的元类是什么?
元类是什么,我们将它们用于什么? #1楼 请注意,此答案适用于2008年编写的Python 2.x,元类在3.x中略有不同. 元类是使"类"工作的秘诀. 新样式对象的默认元类称为& ...
- python1000个常用代码-介绍Python中几个常用的类方法
内置方法 说明 __init__(self,...) 初始化对象,在创建新对象时调用 __del__(self) 释放对象,在对象被删除之前调用 __new__(cls,*args,**kwd) 实例 ...
最新文章
- 彻底解决兼容问题 Windows 7 安装 Visual C++ 6.0 (VC6) 全程图解
- python 编译exe
- python课程与c+课程有什么不同-南通渡课少儿编程:python和C的区别是什么?
- 【原】display:inline-block下的IE元素
- tensorflow 风格迁移
- 【Python】matplotlib可视化必知必会富文本绘制方法
- 【报错笔记】MAVEN pom.xml 报错解决方法
- 生成下面的模块时,启用了优化或没有调试信息
- python中__new__的用法_python中的__init__ 、__new__、__call__小结及使用
- python输入的字符串转换为对应的数字类型_第1期 | psychopy:数据类型及运算符
- ContextLoaderListener和Spring MVC中的DispatcherServlet加载内容的区别
- 试试只用U盘加载Linux系统
- 不定积分 基本积分表
- Python Intro - xrange obsoleted by Python3
- maven安装以及本地创库设置
- android 蓝牙打印和网络打印
- 购买 阿里云海外服务器 实例
- allegro库函数 c语言,[转载]Allegro之Dev-Cpp版上手指南
- 服务器上用U盘安装Linux系统详细步骤
- 牛客网输入输出练习c++ 个人版题解
热门文章
- mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案
- 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波6 - 分段线性变换 - 比特平面分层
- linux kvm安装win7,ubuntu14.04 使用kvm安装win7系统
- W4_python_decorator_generator_Iteratable_Iterator_json_pickle
- 第一个Django应用程序_part1
- 前后端分离的思考与实践(二)
- 不安装oracle客户端如何用plsql连接oracle
- UIView之常用方法
- Java中StringBuilder的清空方法比較
- Android版CCLabelTTF在setstring时出现黑块