常见内置函数

  • 内置函数:在类的内部,特定时机自动触发的函数

  • 示例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的更多相关文章

  1. python常见内置函数总结

    简单的内置函数 len    求长度 min   求最小值 max  求最大值 sorted  排序 reversed   反向 sum   求和 进制转换 bin   转为二进制 oct   转为八 ...

  2. python常见内置函数

    一. map( ) 映射 l = [1,2,3,4] print(list(map(lambda x:x+1,l))) # 获取列表中每个元素并传递给匿名函数运算保存返回值 二. zip( ) 拉链 ...

  3. 如何查看Python的内置函数

    经常调用的时候不知道python当前版本的内置函数是哪些,可以用下面的指令查看: C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1 ...

  4. python基础-内置函数详解

    一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...

  5. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  6. Python的内置函数

    python的内置函数一共有68个,下面将简单介绍各个函数的功能. abs() dict() help() min() setattr() all() dir() hex() next() slice ...

  7. python print()内置函数

    啦啦啦啦啦啦,我又来了,学习任何东西都得坚持,我一定的好好加油!!! 今天来说说print()函数,前边我们已经用过好好多次啦,现在来学习哈吧!!! Python的内置函数,print() print ...

  8. python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理

    python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...

  9. Python入门-内置函数一

    什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...

随机推荐

  1. LC 718. Maximum Length of Repeated Subarray

    Given two integer arrays A and B, return the maximum length of an subarray that appears in both arra ...

  2. 约束布局ConstraintLayout详解

    约束布局ConstraintLayout详解 转 https://www.jianshu.com/p/17ec9bd6ca8a 目录 1.介绍 2.为什么要用ConstraintLayout 3.如何 ...

  3. HttpURLConnection获取数据

    使用步骤: 1.创建Url 2.用Url打开连接 3.设置请求参数 4. 获取响应状态码 2xxx 请求成功 3xxx重定向 4xxx资源错误 5xxx服务器错误 5.获取服务器返回的二进制输入流 6 ...

  4. RabbitMQ学习之:(十)AMQP和RabbitMQ介绍 (转贴+我的评论)

    From: http://www.infoq.com/cn/articles/AMQP-RabbitMQ 准备开始 高级消息队列协议(AMQP1)是一个异步消息传递所使用的应用层协议规范.作为线路层协 ...

  5. .Netcore 2.0 Ocelot Api网关教程(3)- 路由聚合

    在实际的应用当中,经常会遇到同一个操作要请求多个api来执行.这里先假设一个应用场景:通过姓名获取一个人的个人信息(性别.年龄),而获取每种个人信息都要调用不同的api,难道要依次调用吗?在Ocelo ...

  6. HTMLCollection对象和NodeList对象

    前言 首先我们先来看下面的demo,假如我们需要给所有的li字体变一个颜色. <!DOCTYPE html> <html lang="en"> <he ...

  7. C#中?的相关使用

    C#中?的相关使用 今天看了几篇博客,学习了一下与?相关的使用,大致分为一下几种: 1. 可空类型 看标题就能够很好的理解这个概念:可以为空的类型.而在C#中可以为空也就是null的类型,都是引用类型 ...

  8. k8s nginx-ingress 504 timeout

    nginx ingress 报错 504 timeout,是由于反向代理超时造成的,反向代理默认超时时间60s 官方文档 配置片段: apiVersion: extensions/v1beta1 ki ...

  9. 【VS开发】CTabView多页卡界面

    转载地址:http://blog.csdn.net/akof1314/article/details/5618454 目录(?)[-] Public Methods Protected Methods ...

  10. nRF5 SDK Bootloader and DFU moudles(3)

    DFU控制点特性用于控制DFU过程的状态. 通过写入该特征来请求所有DFU程序. 标记过程结束的响应将作为通知收到. BLE传输 Transfer of an init packet DFU控制器首先 ...