python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem
常见内置函数
内置函数:在类的内部,特定时机自动触发的函数
示例1:setattr、getattr、delattr
class Person:
# def __init__(self, name):
# self.name = name def __setattr__(self, key, value):
# 当设置对象成员属性的时,系统会自动调用
print(key, value)
self.__dict__[key] = value def __getattr__(self, item):
# 当访问不存在的对象属性时,系统会自动调用
if item == 'age':
return 123
else:
return 'default' def __delattr__(self, item):
# 当销毁对象的成员属性时,系统会自动调用
print('del', item) xiaoming = Person() # 每个对象都有一个成员属性:__dict__
# 用于存放对象的属性,包括动态添加的
# print(xiaoming.__dict__) # xiaoming.name = '小明'
# print(xiaoming.name) # print(xiaoming.__dict__) # xiaoming.age = 18 print(xiaoming.age)
print(xiaoming.hello) del xiaoming.age
示例2:setitem、getitem、delitem
当对对象按照字典方式操作时,会自动触发相关方法
示例:
class Person:
# 当对对象按照字典设置键值对时,会自动触发该方法
def __setitem__(self, key, value):
# print(key, value)
self.__dict__[key] = value
# 当对对象按照字典操作根据键获取值时,会自动触发该方法
def __getitem__(self, item):
# print(item)
return self.__dict__[item]
# 当做字典操作,删除键值对时,自动触发该方法
def __delitem__(self, key):
# print(key)
del self.__dict__[key] p = Person()
p['name'] = 'xiaoming'
print(p['name'])
# 通过字典方式添加的键值对,可以通过属性的方式获取
print(p.name)
print(p.dict)
del p['name']
python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem的更多相关文章
- python常见内置函数总结
简单的内置函数 len 求长度 min 求最小值 max 求最大值 sorted 排序 reversed 反向 sum 求和 进制转换 bin 转为二进制 oct 转为八 ...
- python常见内置函数
一. map( ) 映射 l = [1,2,3,4] print(list(map(lambda x:x+1,l))) # 获取列表中每个元素并传递给匿名函数运算保存返回值 二. zip( ) 拉链 ...
- 如何查看Python的内置函数
经常调用的时候不知道python当前版本的内置函数是哪些,可以用下面的指令查看: C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1 ...
- python基础-内置函数详解
一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...
- python基础——内置函数
python基础--内置函数 一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...
- Python的内置函数
python的内置函数一共有68个,下面将简单介绍各个函数的功能. abs() dict() help() min() setattr() all() dir() hex() next() slice ...
- python print()内置函数
啦啦啦啦啦啦,我又来了,学习任何东西都得坚持,我一定的好好加油!!! 今天来说说print()函数,前边我们已经用过好好多次啦,现在来学习哈吧!!! Python的内置函数,print() print ...
- python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理
python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...
- Python入门-内置函数一
什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...
随机推荐
- vsftpd 配置用户及根目录及其参数详解
vsftpd 常用功能参数配置及参数详解 Table of Contents 1. 配置超级服务 2. 配置匿名用户 3. 配置本地用户登录 4. 配置虚拟用户登录 5. 使用SSL登入 6. 日志文 ...
- React Native 常用第三方组件
React-Native-Elements 一组开发RN的UI工具包(强烈推荐)
- java多媒体文件编码、处理工具类
<dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</ ...
- Go项目实战:打造高并发日志采集系统(二)
日志统计系统的整体思路就是监控各个文件夹下的日志,实时获取日志写入内容并写入kafka队列,写入kafka队列可以在高并发时排队,而且达到了逻辑解耦合的目的.然后从kafka队列中读出数据,根据实际需 ...
- D3画完整柱状图(带坐标轴、标签)
昨天晚上本来打算花一点时间把之前学的柱状图改一下,用CSV文件来替换自定义数据.这一替换可不得了,一晚上就搭进去了,还好今早找到了问题的所在,原因在于我的数据引用出了问题. 现在就来讲解一下如何画一个 ...
- USACO 1.2 Friday the Thirteenth
注意闰月的部分细节很多. /* ID:Starry21 LANG:C++ TASK:friday */ #include<iostream> #include<string> ...
- SpringCloud学习(七)高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)
上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用 准备工作 ...
- git 命令 git diff 查看 Git 区域文件的具体改动
查看 Git 区域文件的具体改动 git diff git status 只能让我们知道文件在 Git 区域内的改动状态,但如果我们想查看某个文件内具体改了什么(也可以理解为在不同 Git 区域中的差 ...
- Golang 匿名结构体及测试代码编写技巧
转自: https://www.jianshu.com/p/901820e17ffb 结构体基础 结构体 (struct) 将多个不同类型的字段集中组成一种复合类型,按声明时的字段顺序初始化. typ ...
- css的优先级权重
选择器(优先级从高到低) 示例 特殊性值 !important(重要性标识) div { color: #fff !important; } 无,但为了方便记忆,可将其表示为1,0,0,0,0 行内样 ...