Callable 类型是可以被执行调用操作的类型。包含以下类型
- 自定义函数
对于,自定义的函数比如使用def、lambda所定义的函数具有以下属性。
属性 | 描述 | 可写 |
---|---|---|
__doc__ | 函数说明,为字符串,不可用时为None,不会被子类继承 | √ |
__name__ | 函数名 | √ |
__qualname__ | 完全限定名称,表示模块的整个虚线路径 | √ |
__module__ | 所属模块 | √ |
__defaults__ | 参数默认值的元组,没有默认参数则为空 | √ |
__code__ | 编译后的函数体对象 | √ |
__globals__ | 所有该函数所在的全局命名空间所持有的变量字典 | × |
__dict__ | 一个储存可读写属性的字典类型数据 | √ |
__closure__ | 由可被调用的闭包内变量所组成的元组,没有则为None | × |
__annotations__ | 参数注释的字典,如果该参数有注释的话 | √ |
__kwdefaults__ | 关键字参数与该参数的默认值组成的字典 | √ |
- 实例方法
属性 | 描述 | 可写 |
---|---|---|
__doc__ | 函数说明,为字符串,不可用时为None,不会被子类继承 | √ |
__name__ | 函数名 | √ |
__self__ | 该方法实例(实例方法属性) | × |
__func__ | 方法对象(实例方法属性) | × |
- 迭代方法
用yeild声明的方法
- 异步方法
用async def定义或者 async with async for声明的方法。
-
异步迭代方法
-
内置函数
内置函数是被C语言函数封装过函数。 -
内置方法
-
类
类使用被调用的方式实例化,会默认调用__new__方法。典型的实例化定义方式是重写__init__方法。类在实例化时是先调用__new__方法生成并返回一个实例。再通过__init__对实例进行初始化后,将实例返回给调用者。 -
实例
实例如果有__call__方法同样可以被调用。
网友评论