day10 学习小结

函数引入

函数其实就是一种工具,和你敲钉子用的锤子没有任何区别

你在用锤子敲钉子的时候首先需要有一把锤子,使用函数也是一样,你需要先定义一个函数,才能使用这个函数。

你定义了一个函数,需要使用它的时候只需要叫他的名字就行了。比用锤子方便多了。

函数的定义

什么是函数

函数就是一种工具

如何定义一个函数

def 函数名():
    '''对函数(工具)的描述信息'''
    代码块

函数的特性

函数定义过程中,只检测语法,不执行代码

调用阶段,才会执行代码

定义函数的三种形式

空函数

def func():
    '''空函数就是只有pass的函数,没有代码,更没有参数'''
    pass

有参函数

def guess(x,y):
    '''给定两个数,打印较大的数'''
    if x > y:
        return x
    else:
        return y
# 通俗的说,就是括号内有东西,这些东西就是参数,他们本质上是一些变量名

无参函数

def guess():
    '''给定两个数,打印较大的数'''
    x = 30
    y = 20
    if x > y:
        return x
    else:
        return y
# 通俗的说,就是括号内没东西,就是没有参数

函数的调用

函数的调用就是使用函数,只需要直接调用函数的函数名就可以了

def guess():
    """给定两个数,打印较大的数"""

    x = 20
    y = 30
    if x > y:
        print(x)
    else:
        print(y)
        
        
 guess()  # 这里就把函数成功调用了

函数的返回值

返回值:就是返回一个值(可以是所有数据类型),就是指return后面的内容

def guess():
    """给定两个数,打印较大的数"""
    # return
    # print(1)
    x = 20
    y = 30
    if x > y:
        # print(x)
        return x
    else:
        # print(y)
        return y

return的特性

  1. return 返回一个返回值,如果没有返回值,返回None
  2. 没有return 默认返回None
  3. return 会终止函数,不运行下面的代码,假设有多个return的时候,运行到第一个就会结束,不会运行第二个
  4. return 通过逗号隔开,可以返回多个值,返回值以元组的形式接收

函数的参数

形参

定义函数阶段的产物,具有接收实参的作用,具有描述意义

位置形参

从左到右依次接收实参的值

默认形参

  1. 如果你不给,使用默认值;如果调用的时候传值,使用传的值
  2. 默认形参必须得放在位置形参后面

实参

调用阶段的产物,传给形参一个具体的值,具有具体的值(可以为所有数据类型)

位置实参

从左到右依次给位置形参传值,一一对应,形参有多少个,实参也必须有多少个

关键字实参

  1. 关键字实参必须写在位置实参的后面
  2. 按照形参名给形参传值(使用情况,基本为0)---》函数的参数一般0-3个,尽量不要超过3个

可变长参数

可变长形参

形参中的会将溢出的位置实参全部接收,然后存储元组的形式,然后把元组赋值给 后的参数。需要注意的是:*后的参数名约定俗成为args。

def sum_self(*args):
    res = 0
    for num in args:
        res += num
    return res


res = sum_self(1, 2, 3, 4)
print(res)

#  10

可变长实参

实参中的 * ,会将 后参数的值循环取出,打散成位置实参。以后但凡碰到实参中带 的,它就是位置实参,应该马上打散成位置实参去看。 ,相当于做了解压缩,也就是把lt内的元素一个一个取出来传给形参。

def func(x, y, z, *args):
    print(x, y, z, args)


func(1, *(1, 2), 3, 4)

#  1 1 2 (3, 4)

转载于:https://www.cnblogs.com/bowendown/p/11552235.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值