清单2.65 函数定义的示例
IN
def calc_triangle_area(base, height):
print(f'底边的长度:{base},高度:{height}')
return base * height /2
res = calc_triangle_area(5,4)
print(res)
OUT
底边的长度:5,高度:4
10.0
2.66关键字参数的示例
IN
calc_triangle_area(height=4, base=5)
OUT
底边的长度:5,高度:4
10.0
2.6.2 文档字符串 “”” ”””
清单2.68 文档字符串的示例
IN
def myfun(x, y):
"""函数的概要
函数的调用规则及注意点等
Args:
x (int):补充说明
y (int): 补充说明
Return:
int:补充说明
"""
return x * y
help(myfun)
OUT
Help on function myfun in module __main__:
myfun(x, y)
函数的概要
函数的调用规则及注意点等
Args:
x (int):补充说明
y (int): 补充说明
Return:
int:补充说明
2.6.3 装饰器: 用于将函数作为参数接收,并返回其他函数的函数。
清单2.69 函数的定义
IN
def deco(func):
def wrapper():
func()
print('2nd')
return wrapper
def myfun():
print('1st')
清单2.70 装饰器的使用示例1
IN
myfun = deco(myfun)
myfun()
OUT
1st
2nd
Python中还提供了专门用于定义装饰器的语法。具体用法示例如下:
清单2.71 装饰器的使用示例2
IN
def deco(func):
def wrapper():
func()
print('2nd')
return wrapper
@deco
def myfun():
print('1st')
myfun()
OUT
1st2nd
2.6.4 lambda表达式
清单2.7.2 lambda表达式的使用示例
IN
words = ['Python','C','JAVA']
words.sort(key=lambda x: len(x))
print(words)
OUT
['C', 'JAVA', 'Python']
IN
words = ['Python','C','JAVA']
words.sort(key = None) # 默认按最短的来
print(words)
OUT
['C', 'JAVA', 'Python']