首页 > 软件开发 > PYTHON >

自学Python-自定义函数

来源:互联网 2023-03-16 19:16:32 62

从函数的定义,调用,参数,返回值等方面,归纳了一些自己的认识。NxO办公区 - 实用经验教程分享!

1,函数的定义:

  • 1

    用名词解释的形式来给他定义,你看十个教程可能有十个解释,但大体的意思就是,用代码来实现一个功能,减少代码的重复使用。NxO办公区 - 实用经验教程分享!

    python的提供的函数称内置函数。NxO办公区 - 实用经验教程分享!

    我们自己写的函数叫自定义函数,格式如下:NxO办公区 - 实用经验教程分享!

    --------------------------------------NxO办公区 - 实用经验教程分享!

    def 函数名(参数):

    NxO办公区 - 实用经验教程分享!

    函数体

    NxO办公区 - 实用经验教程分享!

    return 值NxO办公区 - 实用经验教程分享!

    ----------------------------------------NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 1本页面非法爬取自百度经验
  • 2

    1)以def关键词开头,标志着自定义一个函数;NxO办公区 - 实用经验教程分享!

    2)函数名自己起,最好是一些看了便知这是什么样功能的函数;以字母开头,中间不能有空格,不能有标点符号。NxO办公区 - 实用经验教程分享!

    3)圆括号括起来的参数,用来传递参与运算的数据,参数可以没有,也可以有多个。NxO办公区 - 实用经验教程分享!

    4)冒号,函数内容以冒号开始,换行缩进。就如同小说中某某人说:。NxO办公区 - 实用经验教程分享!

    5)函数体里的代码就是你实现一个功能的思想。这些代码属局部作用域,只在此函数内有效。NxO办公区 - 实用经验教程分享!

    6)return 后面跟你想要返回的值。可以不写return,相当于返回 None。NxO办公区 - 实用经验教程分享!

    例如:NxO办公区 - 实用经验教程分享!

    #定义求一个数平方的函数NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    def squre(i):

    NxO办公区 - 实用经验教程分享!

    s=i*i

    NxO办公区 - 实用经验教程分享!

    return

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 2.调用函数:

  • 1

    调用函数:函数名(参数)NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 2

    最好的方法是给函数实例化一个对象。NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 3.函数参数

  • 1

    理解形参和实参:NxO办公区 - 实用经验教程分享!

    上例中的i,是个变量,叫形参。定义函数时的参数。NxO办公区 - 实用经验教程分享!

    在函数被调用时的10,叫实参,调用函数时的参数。NxO办公区 - 实用经验教程分享!

    这就像定义一个变量一样,i=10,函数在被调用时,按你传的参数运行。NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 2

    位置实参:定义函数时可以有多个形参。那么在调用函数时,也要传递对应数量的实参,而且位置按顺序对应。NxO办公区 - 实用经验教程分享!

    #求三角形面积的函数:

    NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    def triagle_area(b,h):

    NxO办公区 - 实用经验教程分享!

    s=b*h/2

    NxO办公区 - 实用经验教程分享!

    print("面积:",s)

    NxO办公区 - 实用经验教程分享!

    triagle_area(6,8)NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    输出:24.0NxO办公区 - 实用经验教程分享!

    例子中的调用函数传递的实参6对应b,8对应h。NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 3

    关键字实参:NxO办公区 - 实用经验教程分享!

    这种写法是为了避免对应的顺序出错。直接在实参中用赋值的形式,这样即使位置顺序不对,也不会出错;例如:NxO办公区 - 实用经验教程分享!

    #求三角形面积的函数:NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    def triagle_area(b,h):

    NxO办公区 - 实用经验教程分享!

    s=b*h/2

    NxO办公区 - 实用经验教程分享!

    print("面积:",s)

    NxO办公区 - 实用经验教程分享!

    triagle_area(h=8,b=6)NxO办公区 - 实用经验教程分享!

    --------------------

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    输出:24.0

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    注意:位置顺序可以变,不能把形参的名字搞错。NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 4

    默认参数:NxO办公区 - 实用经验教程分享!

    在定义函数时直接给形参赋值,这个参数就是默认参数。NxO办公区 - 实用经验教程分享!

    在不提供实参的情况下调用函数,函数会把默认的值当实参。NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    def triagle_area(b=1,h=1):

    NxO办公区 - 实用经验教程分享!

    s=b*h/2

    NxO办公区 - 实用经验教程分享!

    print("面积:",s)

    NxO办公区 - 实用经验教程分享!

    triagle_area(8)NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    输出:4

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    这个例子里,8对应位置b,h是默认值1,所以结果是4。NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 5

    元组类型参数(一星参数):NxO办公区 - 实用经验教程分享!

    写法是:在形参前面加一个星号。这个星号代表参数是个元组类型参数。NxO办公区 - 实用经验教程分享!

    传入的参数可是1个2个,多个,甚至不传都可以。NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 6

    当一个函数有多个参数,要将一个元组中对象中的元素分别作为函数的参数时,需要将元组对象前加星号传递,NxO办公区 - 实用经验教程分享!

    例如三个数相乘的函数

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    num_tup=(6,5,4)

    NxO办公区 - 实用经验教程分享!

    def numbers(x,y,z):

    NxO办公区 - 实用经验教程分享!

    xyz=x*y*z

    NxO办公区 - 实用经验教程分享!

    return xyz

    NxO办公区 - 实用经验教程分享!

    #num=numbers(num_tup)

    NxO办公区 - 实用经验教程分享!

    num=numbers(*num_tup)

    NxO办公区 - 实用经验教程分享!

    print( num)NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    输出:120NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 7

    字典类型参数(两星参数):NxO办公区 - 实用经验教程分享!

    写法是:在形参前面加两个星号。这个星号代表参数是个字典类型参数。NxO办公区 - 实用经验教程分享!

    传入的参数形式是多个 键=值,NxO办公区 - 实用经验教程分享!

    例如:生成一个字典的函数:NxO办公区 - 实用经验教程分享!

    --------------------

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    def make_dict(**d):

    NxO办公区 - 实用经验教程分享!

    print(d)

    NxO办公区 - 实用经验教程分享!

    make_dict(x=1,y=2,z='master')NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    输出:{'x': 1, 'y': 2, 'z': 'master'}NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 4.函数返回值注意的事项:

  • 1

    返回值:NxO办公区 - 实用经验教程分享!

    返回值可以是python中的各种类型,初学时被搞糊涂的一个地方,在这里提一下:NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    def nameMake_1(firstname):

    NxO办公区 - 实用经验教程分享!

    name_1=firstname '建国'

    NxO办公区 - 实用经验教程分享!

    return name_1

    NxO办公区 - 实用经验教程分享!

    a=nameMake_1('赵')

    NxO办公区 - 实用经验教程分享!

    print(a,type(a))

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    def nameMake_2(firstname):

    NxO办公区 - 实用经验教程分享!

    name_1=firstname '建国'

    NxO办公区 - 实用经验教程分享!

    name_2=firstname '伟国'

    NxO办公区 - 实用经验教程分享!

    return name_1,name_2

    NxO办公区 - 实用经验教程分享!

    b=nameMake_2('赵')

    NxO办公区 - 实用经验教程分享!

    print(b,type(b))NxO办公区 - 实用经验教程分享!

    --------------------

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    输出:NxO办公区 - 实用经验教程分享!

    赵建国 class 'str'>NxO办公区 - 实用经验教程分享!

    ('赵建国', '赵伟国') class 'tuple'>NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    a的类型时字符串。NxO办公区 - 实用经验教程分享!

    b的类型是个元组。

    NxO办公区 - 实用经验教程分享!

    NxO办公区 - 实用经验教程分享!

    但在定义函数的时候并不是写的 return (name_1,name_2);NxO办公区 - 实用经验教程分享!

    所以见到return后有多个用逗号隔开的值时,应该知道它是一个元组。NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 2

    函数中可以有多个return,但返回值只有一个return的返回值。NxO办公区 - 实用经验教程分享!

    这自然就想到了if语句。选择符合条件的结果返回。NxO办公区 - 实用经验教程分享!

    例如:NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    def get_max(a,b):

    NxO办公区 - 实用经验教程分享!

    if a>b:

    NxO办公区 - 实用经验教程分享!

    return f'{a}最大'

    NxO办公区 - 实用经验教程分享!

    elif ab:

    NxO办公区 - 实用经验教程分享!

    return f'{b}最大'

    NxO办公区 - 实用经验教程分享!

    else:

    NxO办公区 - 实用经验教程分享!

    return f'{a}等于{b}'

    NxO办公区 - 实用经验教程分享!

    print(get_max(5,1))NxO办公区 - 实用经验教程分享!

    --------------------NxO办公区 - 实用经验教程分享!

    输出:5最大NxO办公区 - 实用经验教程分享!

    自学Python-自定义函数NxO办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!NxO办公区 - 实用经验教程分享!


    标签: python函数

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码