"""python中万物皆对象,函数也可以有属性"""deffunc(name,age,gender):"""this is function docstring"""
name="zhang"pass"""内置魔法属性"""print(func.__name__)#函数名称属性print(func.__doc__)#函数说明文档属性print(func.__str__)#函数解释print(func.__module__)#所属模块print(func.__class__)#函数类print("*"*50)"""动态添加属性"""deffunc():pass# func.count+=1 #不能在函数内部添加属性
func.count=1print(func.count)
func
this is function docstring
<method-wrapper '__str__' of function object at 0x7f94aca74d08>
__main__
<class 'function'>
**************************************************
1
6:函数注解
"""添加函数参数及返回值注释"""deffunc(name:"这是name的注解:"="default")->"返回值是一个妹子":passprint(func.__annotations__)#result:{'name': '这是name的注解:', 'return': '返回值是一个妹子'}"""添加参数类型注解和函数返回值类型"""deffunc(name:str="张三",age:int=19,flags:bool=True)->bool:print(name,age,flags)return name
func("里斯",199,False)print(func.__annotations__)#输出函数注解