zoukankan      html  css  js  c++  java
  • 第十天

    函数

    函数--->工具(需要用的时候才用,提前造)
    需要用函数的时候,拿来用就行了,需要提前写好
    函数不会改变某个功能的代码,它只做了一件事情,封装(接口),只会让你的代码更加简洁
    内置方法就是一个个函数,别人帮你写好的

    函数的定义

    '''def 函数名(等同于变量名)():

    ​ """"对函数(工具)的描述信息"""

    ​ 代码块'''

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

    定义函数的三种形式

    空函数

    def func():
        pass
    # 写项目的时候可以先用空函数把框架搭建出来,再实现功能
    

    有参函数

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

    无参函数

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

    函数的调用

    函数的调用就是在使用函数

    函数名加() 加()就能调用函数,没有为什么

    函数在不被调用的时候不会运行,运行只能看到有没有语法错误

    def guess1():
        """给定两个数,打印较大的数"""
        x = 30
        y = 20
        if x>y:
            print(x)
        else:
            print(y)
    guess1() # 调用函数
    
    

    函数的返回值

    print只能把结果打印出来,并不能得到这个值,return返回可以拿到这个值

    函数返回的一个值,这个值可以是任意的数据类型

    ef guess1():
        """给定两个数,打印较大的数"""
        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 通过逗号隔开,可以返回多个值,返回值以元组的形式接收

    函数的参数

    有参函数:有参数(手电筒(强光/弱光,由你自己调控))的函数

    要有这个功能,使用的时候才会触发

    def guess1(x:int,y:int = 20 )  ->int: # :后面规定是参数的数据类型,约定俗成的 ; ->后面规定的是返回值的数据类型,约定俗成的
        """给定两个数,打印较大的数"""
        if x>y:
            return x
        else:
            return y
     guess1(30) 
      
    

    形参

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

    位置形参:

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

    默认形参:

    1.如果你不给,使用默认值;如果调用的时候给,就用给的值。2.默认形参要放在位置形参的后面

    实参

    调用阶段的产物,传给形参一个具体的值,具有具体的值

    位置实参:

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

    关键字实参:

    当参数较多时,可能会把参数弄混,因此就出现了关键字实参

    1.按照形参形参名给形参传值(基本不会使用)--->函数的参数一般只有0-3个
    2.位置参数必须要写在关键字参数前面

    可变长参数

    可边长形参

    # 可变长形参
    def min_2(x, y):
        if x > y:
            return y
        else:
            return x
    
    
    def min_4(a, b, c, d):
        res1 = min_2(a, b)
        res2 = min_2(c, d)
        return min_2(res1, res2)
    
    
    def min_8(a, b, c, d, e, f, g, h):
        res1 = min_4(a, b, c, d)
        res2 = min_4(e, f, g, h)
        return min_2(res1, res2)
    
    
    def min_10(a, b, c, *lt):  # *lt,把所有传过来的实参全部接收,并且以元组的形式存储
        print(lt)
        a, b, c, d, e, f, g, h, i, j, *_ = lt
        print(_)
        res1 = min_8(a, b, c, d, e, f, g, h)
        res2 = min_2(i, j)
        return min_2(res1, res2)
    
    
    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)
    

    可变长实参

    def min_2(x, y):
        if x > y:
            return y
        else:
            return x
    
    
    def min_4(a, b, c, d):
        res1 = min_2(a, b)
        res2 = min_2(c, d)
        return min_2(res1, res2)
    
    
    def min_8(a, b, c, d, e, f, g, h):
        res1 = min_4(a, b, c, d)
        res2 = min_4(e, f, g, h)
        return min_2(res1, res2)
    
    
    def min_10(a, b, c, d, e, f, g, h, i, j):
        print(a, b, c, d, e, f, g, h, i, j)
        res1 = min_8(a, b, c, d, e, f, g, h)
        res2 = min_2(i, j)
        return min_2(res1, res2)
    
    
    lt = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    res = min_10(*lt)  # *,相当于做了解压缩,也就是把lt内的元素一个一个取出来传给形参
    print(res)
    
    
  • 相关阅读:
    CentOS yum 安装svn1.8
    js 替换掉汉字 和替换非汉字 比较时间JS
    PhpStorm 10 破解
    html中link的用法
    CSS3:nth-child()伪类选择器
    提示的小三角
    css 高度自适应
    <input type="file" />浏览时只显示指定文件类型
    MySQL查询表内重复记录
    扒站小工具
  • 原文地址:https://www.cnblogs.com/lyyblog0715/p/11552110.html
Copyright © 2011-2022 走看看