# 函数的调用defaa():print("这是一个函数哦")print("里面有很多数据呢")
n =int(input("请输入年龄"))if0<= n <=5:for w inrange(3):
aa()elif5< n <=10:for e inrange(2):
aa()else:
aa()# 函数的参数defbb(name, age):print("学生叫:", name)print("年龄:", age)# 默认
bb("zhao",12)# 规定接收字段
bb(age=23, name="liu")
3.带参数和返回值的函数
# 带参带返回值的函数defcc(num1, num2):
c = num1 + num2
return c
print(cc(1,3))
# 全局变量和局部变量# 全局变量可以在整个py文件中访问
a =100
word ="he"deftest():# 在函数内部定义的变量,它是局部变量,只能在函数中使用
x ="hello"print('x = {}'.format(x))# hello# 如果局部变量和全局变量同名,会在函数内部定义一个新的局部变量# 而不是修改全局变量
a =10print('函数a = {}'.format(a))# 10# 函数内部如果想要修改全局变量 需要使用global对变量进行声明# 可以通过函数修改全局变量的值global word
word ="aaa"
test()print("函数外部a = {}".format(a))# 100print("函数外部word = {}".format(word))# aaa# 内置函数 golbals() locals() 可以查看全局变量和局部变量
6.一个函数返回多个返回值
# 函数多个返回值defjie(c, b):
x = c // b
y = c % b
# 一般情况下,一个函数最多只会执行一个return语句# 特殊情况(finally语句)下,一个函数可能会执行多个return语句# return x # return语句表示一个函数的结束return x, y
# 返回的还可以是一下几种形式# return {'x': x, 'y': y}# return [x, y]# return (x, y)
s = jie(13,5)print("商是:{},余数:{}".format(s[0], s[1]))
# filter 对可迭代对象进行过滤,得到的是一个filter对象# python2的时候是一个内置函数,python3修改成了一个内置类
age =[1,9,3,7,4,6]# filter 可以给二个参数,一个是函数,另一个是可迭代对象# filter 结果是一个filter对象,filter对象也是一个可迭代对象
x =filter(lambda ele: ele >4, age)for a in x:print(a)
# time模块可以获取当前的时间import time
# 代码运行之前,获取一下时间# 时间戳是从1970-01-01 00:00:00 UTC 到现在的秒数
start = time.time()print("start = ", start)
x =0for i inrange(1,10000000):
x += i
print(x)# 代码运行完以后,在获取一下时间
end = time.time()print("代码运行耗时{}秒".format(end - start))
16.装饰器
# 装饰器import time
defcal_time(fn):definner():
start = time.time()
fn()
end = time.time()print("代码耗时", end - start)return inner
@cal_time
defdemo():
x =0for i inrange(1,10000000):
x += i
print(x)
demo()