python 函数

目录

结构

分类

函数体

返回值

函数参数

赋值

 

 

 

结构

python中用关键字def来定义函数,后接函数名,形参列表,分号,之后是函数体。分号表示函数的声明部分属于同一个代码块,由于没有大括号来限定作用域,因此要注意函数体书写时的缩进。

 

 

 

分类

 

  • 内置函数

内建函数:python中自带的函数。

第三方函数:其他开发者或组织编写并分享的函数。

  • 自定义函数

开发者自己定义的函数。

 

 

 

函数体

 

python语言中函数的函数体部分可以是具体的代码,当然,开发时为了先建立起结构,通常不写函数体,此时可用关键字pass充当函数体。

def fun3(x, y):
    y = y+x


def fun5():
    pass

 

 

返回值

 

  • 无返回值

函数结束后没有return语句,此时函数默认返回None,可以理解为函数没有返回值,但应注意,此时打印函数并不会报错,而是打印None;

 

  • 单个返回值

函数体中return语句后有一个量,则返回一个返回值。

 

  • 多个返回值

python语句提供函数返回多个返回值的机制,直接在return后按顺序写返回值,其返回时也会按顺序返回。

def fun4(x, y):
    return x + y, x - y


a, b = fun4(3, 6)
print(a, b)

 

 

函数参数

 

  • 位置参数

       按照形参表上形参的位置顺序给形参传值,即我们平时最常见的参数形式。

 

  • 默认参数

       给形参赋上默认值,若实参给出则用实参,若不给出实参,则用默认值。应注意默认值                   只能在形参表中从后往前给出。

def fun8(first,second=5):   # 正确
    return second


def fun9(first=5,second):   # 错误
    return second 

 

 

  • 不定长参数

        传入长度不固定的参数,即传入list或tuple,属于地址传递,用*定义

def fun13(*n):          #不定长参数
    sum=0
    for i in n:
       sum=sum+i
    return sum

n=[1,2,3]               
print(fun(*n))

 

 

  • 关键字参数

       实参表中不用在意顺序,用参数的关键字限制参数的结合顺序。

def fun(x, y):
    print('x+y=', x+y)
    print('x*y=', x*y)


fun(x=1, y=3)              #三种实参效果完全一样
fun(y=3, x=1)
fun(1, 3)

 

 

  • 命名关键字参数

       即用参数的关键字决定结合顺序,同时参数为不定长的,此时应注意的是如果没有可变数,           命名关键字参数就必须加一个“”号作为特殊分隔符。如果缺少“”,Python语言将无法辩别位              置参数和命名关键字参数。

def enroll(name, gender, *, age, city):
    print(name, gender, age, city)


enroll('Jack', 'M', age='18', city='Beijing')

 

 

  • 组合参数

多种参数类型的参数是有顺序的,定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。比如要定义一个函数,包含上述若干种参数,如下代码

def func(a, b, c=0, *args, **kw):
    print('a=', a, 'b=', b, 'c=', c, 'args=', args, 'kw=', kw)

 

 

 

赋值

python语言中函数名可以赋值给其他变量,相当于给函数起了个别名,例如下面abs和a相当于一个函数。

a = abs
print(abs(-5))
print(a(-5))

 

 

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦木不emo

打赏一个吧亲

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值