python3的函数是简单简约的,但有很有个性,而且有一些很多意思的语法糖,了解并理解这些函数语法,是python学习中必经之路
函数的定义,Python 定义函数使用 def 关键字
def hello():
'''定义一个hello打印的函数'''
return 'hello world'
使用函数
print(hello())
有参数并有返回值的函数
def add(x, y):
return x+y
print(add(2,5))
任意参数有返回值 *为tuple **为list
def rst_a(*k, **s):
rst = 0
for v in k :
rst += v
return rst,s
print(rst_a(1,2,3,4,aa='aa',bb='bb'))
有意思的lambda
l = lambda x, y : x + y
print(l(2,8))
装饰器语法糖
在Python中可以使用”@”语法糖来精简装饰器的代码,函数可以支持(*args, **kwargs)可变参数。
import time
def t(func):
'''定义一个程序运行时间计算函数'''
def wrapper(*args, **kwargs):
start = time.time()#起始时间
func(*args, **kwargs)#要执行的函数
end = time.time()#结束时间
print('程序运行时间:{:.2f}ms'.format((end-start)*1000))
return wrapper
def log(func):
'''一个打印函数运行日志的方法'''
def wrapper(*args, **kwargs):
print('函数开始运行')
func(*args, **kwargs)
print('函数运行结束')
return wrapper
@log #打印日志
@t #统计程序运行时间
def myfunc(x,y):
'''打印从x到y的数值'''
for i in range(x,y):
print(i)
myfunc(3,6)