1.python一切皆对象
2.class的类是type
3.类的创建方法有两种:
(1)正常方式
(2)装逼方式
Foo = type(Foo,(),{str :func})
面向对象2 and 反射
类的一些特殊方法:
1.object.doc 显示类的注释
2.对象__module__ object的类是在哪个模块里
3.object.class 输出的对象是哪个类和从哪里导出来的
4.call
def class(object):
def call(self):
pass
a = class()
a() 调用__class__方法
或者是class()()调用
5.__dict__查看类或者对象中的所有成员
6.str 当print(object)时,会显示__str__下返回的那句话
8.__repr__源码如下

class Person(object):
def str(self):
return “a”
repr = str

person = Person()
person
a

print(person)
a

7.new 是用来创建实例对象的,会调用__init__,也是一个默认有的函数
def new(cls)
return object.new(cls) 去继承父亲的继承方法
————————————————————————————————
关于继承的实质我还是没有搞清楚,垃圾个自己
——————————————————————————————
反射:
引入:
class Dog(object):
def bark(self):
print("")
用户要输入什么功能的选项
a = input()
d = Dog()
但是d.a无法实现,所以要使用反射
if(hasatter(d,a): 判断要调用的东西是否存在
func = getatter(d, a) 返回调用函数的内存地址,不执行
func(*args) 调用函数
else:
setatter(d, choice, func) 为类动态装一个东西
delatter(d,choice) 删除指定属性

相关文章:

  • 2022-01-25
  • 2021-06-07
  • 2021-06-15
  • 2021-08-02
  • 2021-08-02
  • 2022-03-08
猜你喜欢
  • 2021-07-01
  • 2021-12-04
  • 2021-09-04
  • 2021-09-16
  • 2022-12-23
  • 2018-07-16
  • 2021-05-21
相关资源
相似解决方案