装饰器: decorators
什么是装饰器:
装饰器是一个函数,主要作用是用来包装另一个函数或类
包装的目的是在不改变原函数名(或类名)的情况下改变被包装对象的行为
函数装饰器 function decorators
是指一个装饰器函数传入的是一个函数,返回的也是一个函数装饰器函数的语法:
def 装饰器函数名(参数):
语句块
return 函数对象
函数装饰器的修饰语法:
@ 装饰器函数名<换行>
def 被装饰函数名(参数列表):
语句块
没有参数的函数装饰器(myfunc外加一层,依调用以前的myfunc)
怎么办?
点击打开链接https://blog.csdn.net/pythondafahao/article/details/79248064
函数的文档字符串:
是指在函数定义语句中,第一次出现的没有赋值给任何变量的字符串称为文档字符串
语法:
def 函数名(参数列表):
"文档字符串"
语句块...
说明:
文档字符串通常用来说明本函数的功能和使用方法
在解释执行器下输入 >>> help(函数名) 可以查看文档字符串
示例:
def myfunc():
"""这是我自己定义的一个函数
用来示意文档字符串
myfunc() 没有参数
"""
pass
python3 的中参数注释
语法:
def 函数名(形参名1[:形参注释1], 形参名2[:形参注释2], ...) [-> 函数注释] :
pass
示例:
def myadd(a:"第一个参数", b:'第二个参数') -> int:
"""这是参数注释的示例"""
pass
def 语句的完整语法(python3):
[@装饰器函数名]
def 函数名([位置形参], [*元组形参], [命名关键字形参],
[**字典形参]) [->注释表达式] :
"文档字符串"
语句块
[]内的内容代表可省略
函数的属性:
__name__属性:
__name__属性用来记录函数的名称
说明:
以双下划线开头,以双下划线结尾的标识符通常代表python的特殊属性(慎用)
示例:
def abc():
pass
fn = abc
print("a绑定的函数的名称是:", fn.__name__)
__doc__属性:
用于录记函数的文档字符串
示例:
def cba():
"这是cba函数的文档字符串"
pass
print(cba.__doc__)