函数 def定义函数

本文详细介绍了Python中函数的定义,包括必须参数和不定长参数的使用。讨论了*args用于无命名参数,**kwargs用于键值对参数,并强调了它们在参数列表中的位置。还探讨了函数的返回值,指出无返回值的函数默认返回None,以及如何返回多个对象。此外,文章阐述了作用域的概念,包括内置、全局、嵌套和局部作用域,以及如何通过global和nonlocal关键字管理变量。最后,提到了递归函数、斐波那契数列的实现,以及Python内置函数filter、map和reduce的使用,以及lambda匿名函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数 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)))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值