python 函数的定义和使用

函数的理解和定义

函数是一段代码的表示

  • 函数是一段具有特定功能的,可重用的语句组
  • 函数是一种功能的抽象,一般函数表达特定功能
  • 一般函数由两个作用:降低编程难度代码复用

函数的表达式

def <函数名>(<参数0个或者多个>):
    <函数体>
    return <返回值>

函数的使用和调用过程

用函数名加上参数,对函数进行调用,给出的参数会替换函数定义中的参数。

函数的参数传递

无论函数是否由参数,都必须保留括号。

函数定义时参数的要求

  • 可选参数的传递,可选参数必须放到必选参数后面
  • 可变参数的传递,指的是值和数量都不确定的情况,把确定的参数放到前面,不确定的参数用*b放到最后面
def <函数名>(<参数>,*b):
    <函数体>
    return <返回值>

例如

def fact(n,*b):
    s=1
    for i in range(1,n+1):
        s*=i
    for item in b:
        s*=item
    return s
print(fact(5,4))
print(fact(3,2,4))

输出

480
48

参数传递的两种方法

  • 按照参数的位置来传递
def plus(n,m):
    print("n="+n+" m="+m)
    return n+m
print(plus(3,4))
  • 按照参数的名称方式来传递
def plus(n,m):
    print("n="+n+" m="+m)
    return n+m
print(plus(m=3,n=4))

函数的返回值

函数可以不返回值,或者返回一个值多个值。如果是多个,则返回一个元组

def fact2(n,m=1):
    s=1
    for i in range(1,n+1):
        s*=i
    return s//m,n,m
print(fact2(10,5))

输出为

(725760, 10, 5)

全局变量和局部变量

  • 规则1,局部变量和全局变量是不同的变量,哪怕名字一样

    • 全局变量:函数外面使用的变量
    • 局部变量:函数内部使用的变量,函数运行结束后,局部变量被释放
    • 可以在函数内部中用global保留字在程序内部使用全局变量
  • 规则2,局部变量为组合数据类型且未在函数体中创建,等同于全局变量,

    例如下面的ls

    ls = ['F','f']
    def func(a):
        #ls=[]
        ls.append(a)
        return
    func("C")
    print(ls)
    

lambda函数

表达式

<函数名>=lambda <参数>:<表达式>

等价于

def <函数名>(<参数0个或者多个>):
    <函数体>
    return <返回值>

区别是函数体只能是表达式,而不是其他语句

例子

f=lambda x,y:x+y
fp=lambda :"表达式"
print(f(3,4))
print(fp())

用途

  1. lambda函数主要用作一些特定函数或者方法的参数
  2. lambda函数有一些固定的使用方式,(后续更新。。。。)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值