1、实现__call__方法的类,可以像调用函数一样进行调用类的对象,执行的是__call__方法的内容
class Car:
def __call__(self, name,age):
print(name,age)
my_car = Car()
my_car ('Bench','2')
2、with 语句操作建立在上下文管理器的基础上,一个类只要实现了__enter__(self)和
__exit__(self)这个两个方法,通过该类创建的对象我们就称之为上下文管理器
__enter__(self)表示上文方法,需要返回一个操作文件对象
__exit__(self)表示下文方法,with语句执行完成会自动执行,即使出现异常也会执行该方法。
3、通用装饰器格式
def logging(fn):
def inner(*args, **kwargs):
result = fn(*args, **kwargs)
return result
return inner
4、包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为 __init__.py 文件,那么这个文件夹就称之为包。如果一个模块文件中有 __all__ 变量,当使用 from xxx import * 导入时,只能导入这个列表中的元素。
__all__ = ['testA']
def testA():
print('testA')
def testB():
print('testB')