- 三大特性
- 封装
- 函数封装
class DB
def dbf1():
pass
def dbf1():
pass
- 数据封装
def func1(obj):
pass
def func2(obj):
pass
class Data:
def __init__(self,a1,a2,a3,a4)
self.a1 = a1
self.a2 = a2
self.a3 = a3
self.a4 = a4
d1 = Data(11,22,33,44)
func1(d1)
func2(d1)
- 继承
- 多态
class F1(object):
def send():
pass
class F2(object):
def send():
pass
def func(arg):
arg.send()
obj1 = F1()
func(obj1)
obj2 = F2()
func(obj2)
- 常用__str__
__init__
__call__
__new__
__setattr__ 3
__setitem__ 3
__enter__
__exit__
__dict__
__doc__
__name__
__del__
class Foo(object):
def __add__(self, other):
return 666
obj1 = Foo() # int(1)
obj2 = Foo() # int(2)
v = obj1 + obj2
print(v)
- metaclass
class MyType(type):
def __init__(self,*args,**kwargs):
print('111111')
super(MyType,self).__init__(*args,**kwargs)
class Foo(metaclass=MyType): # 默认每个的metaclass=type
pass
#创建类:方式一 class Foo(object): pass print(Foo) #创建类方式二 Bar = type('Foo',(object,),{}) print(Bar)
2. 根据字符串的形式导入模块
importlib.import_module("xx.xx.path")
3. 根据字符串的形式操作对象中的值
getattr(对象,'xx')