函数 def定义函数

函数 def定义函数
    必须参数
    不定长参数:def add(*args) add(1,2,3,4,5)无命名参数 元组
                def add(**args)print_info ('wenson',30,‘male’)把键值对入到字典里储存
     关于不定长参数的位置:*args放在左边,**kwargs参数放在右边
     没有名字的值传给元组,有名字的传到字典,有不定长参数的默认参数放左边,没有放右边
     返回值:
     #返回值
# def f():
#     print('ok')
#     return 10 #作用:1 结束函数 ,2 返回一个对像
# a=f()
# print(a)
# def add(*args): #注意点:1.函数如果没有return,会默认返回一个None
#                         #2.如果return多个对象,那么python会把多个对象封装成一个元组返回
#     Sum=0
#     for i in args:
#         Sum+=i
#     print(Sum)
#     return Sum
# a=add(1,2,3,4,5)
# print(a)

#作用域:built_in 内置作用域----global全局作用域---enclosin嵌套作用域--local本地作用域
#只有模块、类、及函数才能引入新作用域
#内部作用域要修改外部作用域变量的值时,全局变量要使用global关键字,嵌套作用域变量要使用nonlocal关键字
#nonlocal是python3新增的关键字
# count = 10
# def outer():
#     print(count)
# outer()

#递归函数:1.调用自身函数,2.有一个结束条件,3.但凡是递归可以写的循环都可以实现,效率不高
# def f(n):
#     sum_f = 1
#     for i in range(1,n) :
#         sum_f = sum_f*i
#         return sum_f
# print(f(7))
#
# def fac (n):
#     if n==1:
#         return 1
#     return n*fac(n-1)
# print(fac(9))
#斐波那契# 数列
# def fibo(n):
#   if n==0 or n==1:
#       return n
#   return fibo(n-1)+fibo(n-2)
# print(fibo(9))
#重要内置函数
# filter#过虑器
# str=['a','b','c','d']
# def fun1(s):
#     if s!='a':#过虑‘a’
#         return s
# ret = filter(fun1,str)
# print(ret)#<filter object at 0x0000000001051C88>ret是一个迭代器对象
# print(list(ret))#['b', 'c', 'd']

# map#修改器
# str=['a','b','c','d']
# def fun2(s):
#     return s +"alvin"#['aalvin', 'balvin', 'calvin', 'dalvin']
# ret = map(fun2,str)
# print(ret)#map objectr 迭代器
# print(list(ret))

# #reduce #叠加器
# from functools import reduce
#
# def add1(x,y):
#     return x+y
# print(reduce(add1,range(1,101)))#结果就是一个值

#lambda 匿名函数
from functools import reduce
print(reduce(lambda a,b :a*b,range(1,6)))
发布了23 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wenson0705/article/details/89076512