python之__call__,__enter__,__exit__

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')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值