• day 010 总结


    函数的定义

    def 函数名(等同于变量名):
        '''对函数(工具)的描述信息'''
        代码块
    

    例子:

    def guess():
        '''给定两个数,打印较大的数'''
        x=20
        y=30
        if x>y:
            print(x)
         else:
            print(y)
    print(guess.__doc__)#打印注释
    

    函数定义的特性:函数定义过程,只检测语法,不执行代码。调用阶段,会执行代码。

    定义函数的三种形式

    空函数

    def shopping():
        pass
    

    有参函数

    def guess(x,y):
        '''给定两个数,打印较大的数'''
        if x>y:
            print(x)
         else:
            print(y)
    print(guess.__doc__)#打印注释
    guess(10,20)
    

    无参函数

    def guess():
        '''给定两个数,打印较大的数'''
        x=20
        y=30
        if x>y:
            print(x)
         else:
            print(y)
    print(guess.__doc__)#打印注释
    

    函数的调用

    调用:函数名()

    guess()# 调用
    print(guess)#函数的内存地址
    

    函数的返回值

    返回值:返回一个值(所有数据类型)

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

    return的特性:

    1.return返回一个返回值,如果没有返回值,就返回None

    2.没有return,默认返回None

    3.return会终止函数,不运行下面的代码,假设有多个return的时候,运行到第一个就会结束,不会运行第二个。

    4.return通过逗号隔开,可以返回多个值,返回值以元组的形式接受。

    函数的参数

    形参

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

    位置形参

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

    默认形参

    1.如果你不给值,使用默认值;如果调用的时候传值,使用传的值

    2.默认形参必须放在位置形参后面

    实参

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

    位置实参

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

    关键字实参

    1.位置实参必须写在关键字实参的前面。

    2.按照形参名给形参传值(使用情况基本为0)——》函数的参数一般为0-3个,尽量不要超过3个。

    可变长参数

    可变长形参

    *lt,把所有传过来的实参全部接收,并且以元组的形式存储

    def min_10(a, b, c, *lt):  # *lt,把所有传过来的实参全部接收,并且以元组的形式存储
        print(lt)#(4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 1, 1, 1, 1, 1, 1, 1, 11, 1)
        a, b, c, d, e, f, g, h, i, j, *_ = lt
        print(_)#[1, 1, 1, 1, 1, 1, 1, 11, 1]
    res = min_10(1, 2, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 1, 1, 1, 1, 1, 1, 1, 11,
                 1, )  # *,相当于做了解压缩,也就是把lt内的元素一个一个取出来传给形参
    print(res)
    

    可变长实参

    *相当于做了解压缩,也就是把lt内的元素一个一个取出来传给形参

    def min_10(a, b, c, d, e, f, g, h, i, j):
        print(a, b, c, d, e, f, g, h, i, j)#1 2 3 4 5 6 7 8 9 10
    lt = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    res = min_10(*lt)  # *,相当于做了解压缩,也就是把lt内的元素一个一个取出来传给形参
    print(res)
    
  • 相关阅读:
    SpringCloud使用注解+AOP+MQ来实现日志管理模块
    拦截器、过滤器、AOP的区别和联系
    Java对象为啥要实现Serializable接口?
    深入Quartz,优雅地管理你的定时任务
    Filter、FilterChain、FilterConfig 介绍
    过滤器 和 拦截器 的6个区别,别再傻傻分不清了
    SpringAOP + 注解实现日志管理
    Java序列化为什么必须实现 Serializable 接口???
    关于Java序列化的问题你真的会吗
    计算吻合率
  • 原文地址:https://www.cnblogs.com/zqfzqf/p/11551103.html
Copyright © 2020-2023  润新知