试编写程序,完成以下功能:
1、定义一个函数(函数名为):计算给定的一个三位正整数的各位数字之和及各位数字之积,并
将结果返回,
2、根据用户输入的函数调用表达式直接输出结果。具体输入输出格式见样例
输入样例:
f(123)
输出样例:
(6,6)
def f(n):
a = n // 100
b = n // 10 % 10
c = n % 100
return a+b+c, a*b*c
a = input()
print(eval(a))
不知道你这个问题是否已经解决, 如果还没有解决的话:1 .isinstance
2. issubclass
3、操作对象属性时自动触发
__setattr__添加/修改属性会触发它的执行
__delattr__删除属性的时候会触发
__getattr__只有在使用点调用属性且属性不存在的时候才会触发
__getattribute__
4、 使用key的形式操作属性时触发
__setitem__使用key的形式添加/修改属性时触发
__getitem__ 使用key的形式获取属性时触发
__delitem__使用key的形式删除属性时触发
5.描述符,描述符可以检测到一个属性的访问和修改,从而对这些操作增加额外的功能逻辑;
__get__():调用一个属性时,触发
__set__():为一个属性赋值时,触发
__delete__():采用del删除属性时,触发
6.静态属性property,本质就是实现了get,set,delete三种方法
7.对象的显示相关函数
__str__调用str函数或者print函数时自动执行,返回值作为显示内容
__repr__调用repr或者交互式解释器输出对象是自动执行,返回值作为显示内容
#注意:
#如果`__str__`没有被定义,那么就会使用`__repr__`来代替输出
#这俩方法的返回值必须是字符串,否则抛出异常
8.__format__调用format函数时自动执行,用于定制对象的格式化输出,
9.内存优化,__slots__
10.迭代器协议, __next__和__iter__
11.__doc__,帮助文档,隐藏属性,用于获取类的帮助文档,其实就是类下面的多行注释
12.__module__和__class__
__module__表示当前操作的对象在那个模块
__class__ 表示当前操作的对象的类是什么
13. __del__析构方法,当对象在内存中被释放时,会自动触发执行。
析构看做构建的反义词,构建指一个东西从无到有,析构指一个东西从有到无
14.上下文管理之__enter__和__exit__