二次加工标准类型(包装)

class A:
def __init__(self, name):
self.name = name
def __setitem__(self, key, value):
self.__dict__[key] = value
def __getitem__(self, item):
self.__dict__.get(‘age‘)
def __delitem__(self, key):
print(‘del obj.__dict__[name]我执行‘)
self.__dict__.pop(‘name‘)
def __delattr__(self, item):
print(‘del obj.name 我执行‘)
self.__dict__.pop(‘name‘)
s = A(‘wangba‘)
s.__dict__[‘age‘] = 25
# print(s.__dict__)
# print(s.__dict__.get(‘age‘))
# del s.__dict__[‘name‘]
# print(s.__dict__)
del s.name
print(s.__dict__)

原文地址:https://www.cnblogs.com/yuexijun/p/10336422.html

时间: 2024-10-13 00:23:28

二次加工标准类型(包装)的相关文章

定制自己的数据类型(二次加工标准类型(包装))

---恢复内容开始--- 包装:python为大家提供了标准数据类型,以及丰富的内置方法,其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型,新增/改写方法,这就用到了我们刚学的继承/派生知识(其他的标准类型均可以通过下面的方式进行二次加工) 定制了子类List的append,多了类型检查功能 class List(list):#继承list所有的属性,也可以派生出自己新的,比如append和mid def append(self,p_object): '派生自己的append:

面向对象进阶2:二次加工标准类型(包装)

二次加工标准类型(包装) 包装:python为大家提供了标准数据类型,以及丰富的内置方法,其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型,新增/改写方法,这就用到了我们刚学的继承/派生知识(其他的标准类型均可以通过下面的方式进行二次加工 #基于继承加派生来实现二次加工标准类型 # 派生原有的list类 class List(list): def append(self, p_object): #自定义一个父类中本来就有的append if type(p_object) is

二次加工系统的标准类型 包装与授权

# 二次加工系统的标准类型 # 1.通过继承系统的类来完成包装, 定制自己的数据类型 class List(list): # 定义了一个List类,继承自系统中的list类 def append(self, p_object): # 重写了append方法,改为只能添加字符串 if type(p_object) is str: super().append(p_object) # 因为重写了append,这里要使用原append方类时需要调用父类的append方法,使用super()调用 els

重操JS旧业第六弹:基本类型包装

在前面已经知道js中的类型有boolean,string,number,undefined,function,object,其中boolean,number,string为值类型.所谓的基本类型包装,是将基本类型中值类型包装为引用类型与之 相对应的是Boolean,Number,String,其主要作用为值类型增加相应的操作方法,因为值类型本身没有方法,方法是对象类型才具有的. 1包装原理 临时封装,如var str='hello';var str2=str.subString(2):llo;其

使用gSoap规避和修改ONVIF标准类型结构的解析

ONVIF/gSoap依赖关系及问题 ONVIF是一组服务规范,标准参考 gSoap是一套基于实现SOAP通信接口的工具链 即是,当我们需要访问ONVIF的Web Service或实现对ONVIF部分的支持:基于C/C++开发,则需要借助gSoap生成这之间的交互接口调用的代码. gSoap生成代码 wsdl2h 将服务接口描述转换为soapcpp2的转换规则,生成中间头文件. 通常我们前期会选择实现部分服务标准:因此这期间生成的后续多为修改这次生成中间产物.h,而不会一切重新生成. soapc

以写代学:python 数据类型之数字,标准类型函数

标准类型函数 (1)cmp(num1,num2):比较两个数的大小,第一个数大返回正值,反之负值,相等为0,要是比较字符串,比较的是第一个字符,而且是根据字母对应的ascll码决定的 (2)abs(num):返回给定参数的绝对值 (3)divmod(num1,num2):把除法和取余运算结合起来,返回一个包含商和余数的元组 (4)pow(num1,num2):进行指数运算 (5)round(num.0 / num,保留位数):四舍五入,最后一位为保留的位数 (6)仅用于整数的函数 hex():转

零基础学python-4.1 python对象的简介和标准类型

对象,面向对象的核心,也是python的核心 python对象有三个特性 1.身份:也就是id,每一个对象都有id,通过id(obj)来读取,一般很少用到这个值,所以不需太管它 2.类型:对象保存什么类型的值,通过type(obj)可以读取,type本身也是对象,他返回的不是字符串,而是对象 我们举一两个例子: 3.值:对象的数据项 当对象创建时,这三个特性都会被赋值,前两个特性是只读的,数据项是可变的 python还有一系列的内建对象,一般来说,对于现在的编程都是够用,如果不够或者需要特殊的数

Effective JavaScript Item 40 避免继承标准类型

本系列作为Effective JavaScript的读书笔记. ECMAScript标准库不大,但是提供了一些重要的类型如Array,Function和Date.在一些场合下,你也许会考虑继承其中的某个类型来实现特定的功能,但是这种做法并不被鼓励. 比如为了操作一个目录,可以让目录类型继承Array类型如下: function Dir(path, entries) { this.path = path; for (var i = 0, n = entries.length; i < n; i++

标准类型String(学习中)

1.读取string对象 #include<iostream> #include<cstring> using namespace std; int main() { string s; cin>>s; cout<<s; return 0; } 这段代码首先定义了一个名为s 的空string,然后将标准输入的内容读取到s中.在执行读取操作时,string对象自动忽略开头的空白(即空格符.换行符.制表符等)并从第一个真正的字符开始读起,直到遇到下一次空白为止.