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‘]

原文地址:https://www.cnblogs.com/kiki5881/p/8572636.html

时间: 2024-10-11 12:07:23

python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem的相关文章

python 语法 内置函数 hasattr getattr setattr dir

参考: https://docs.python.org/3/library/functions.html?highlight=hasattr#getattr 例子1:针对类TestA 做属性操作 class TestA: def fun_1(self): print "fun_1" def fun_2(self): print "fun_2" def fun_2(): print "fun_3" test_a = TestA() print ha

Python 常用内置函数

abs 取绝对值 print(abs(-1)) #结果1 all(...) all(iterable) -> bool Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. 如果iterable的所有元素不为0.''.False或者iterable为空,all(iterable)返回True,否则返回False:函数等价于: 1 def all

python D13 内置函数

# 1.内置函数# 什么是内置函数? 就是python给你提供的. 拿来直接?的函数, 比如print., input等等. 截?# 到python版本3.6.2 python?共提供了68个内置函数. 他们就是python直接提供给我们的. 有# ?些我们已经?过了. 有?些还没有?过. 还有?些需要学完了?向对象才能继续学习的. 今# 天我们就认识?下python的内置函数. # 不熟悉的函数:# eval() 执?字符串类型的代码. 并返回最终结果# print(eval("2+2&quo

Python 集合内置函数大全(非常全!)

Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s < t 子集测试(严格意义上):s != t 而且 s 中所有的元素都是 t 的成员 s.issuperset(t) s >= t 超集测试(允许不严格意义上的超集):t 中所有的元素都是 s 的成员   s > t 超集测试(严格意义上):s != t 而且 t 中所有的元素都是 s 的成

python常用内置函数学习(持续更新...)

python常用内置函数学习 一.python常用内置函数有哪些 dir() 二.每个内置函数的作用及具体使用 1.dir()不带参数时返回当前范围内(全局.局部)的变量.方法和定义的类型列表:   带参数A时返回参数的属性.方法的列表,如何该参数A对象有__dir__(),该方法被调用,如果不含有该方法,该方法不会报错,而是尽可能多的收集参数对象A的信息   实例: 不带参数,在分别在文件全局调用和在函数中局部调用dir()   带参数   原文地址:https://www.cnblogs.c

【Python】内置函数清单

Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print("Hello World!") 在Python教程中,我们已经提到下面一些内置函数: 基本数据类型 type() 反过头来看看 dir() help() len() 词典 len() 文本文件的输入输出 open() 循环设计 range() enumerate() zip() 循环对象 iter() 函数对象 map

Python菜鸟之路一:Python基础-内置函数补充

常用内置函数及用法: 1. callable() def callable(i_e_, some_kind_of_function): # real signature unknown; restored from __doc__ """检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojbect绝对不会成功 Return whether the object is callable (i.e., some kin

熟练掌握Python的内置函数,加快编程速度

内置函数概览 Python 2.7 的所有内置函数共有80个.熟练记住和使用这些内置函数,将大大提高写Python代码的速度和代码的优雅程度. 以下代码示例用的是ipython,一个比官方解释器好很多的解释器,值的学习和使用. 数学相关的内置函数 abs(x) 返回一个数字的绝对值 In [18]: abs(3.14) Out[18]: 3.14 In [19]: abs(-3.14) Out[19]: 3.14 complex(real[, imag]) 生成一个复数 In [135]: co

Python基础——内置函数

课前梗概 学到这里,大家是不是在想一个问题,我们之前一直用到的简单语法中会有,iut(),print(),len(),input()…………等等,你们是否想过,我们在使用之前没有做什么定义操作而是自然而然用到了,非常自然,这到底是什么情况?它们到底是什么东西呢? 其实,这些函数都是一个名为 builtins模块已经封装定义好的函数,而且这个模块在安装python环境的时候就默认导入了,所以我们可以直接使用. 这些函数,在python我们也称之为“内置函数”. 内置函数 在python的3.6.2