函数

作者: 小圆圈Belen | 来源:发表于2020-09-10 09:32 被阅读0次

    变量

    python中的变量也分为全局变量和局部变量。

    局部变量

    • 位置:在函数内部定义的变量
    • 作用范围:这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
    • 作用:为了临时保存数据需要在函数中定义变量来进行存储
      当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了


    全局变量

    概念:既能在一个函数中使用,也能在其他的函数中使用的变量

    • 位置:在函数外边定义的变量
    • 访问权限:全局变量能够在所有的函数中进行访问
    全局变量和局部变量名称相同

    当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 此时理解为定义了一个局部变量,而不是修改全局变量的值

    修改全局变量

    如果在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据 也理解为对全局变量进行修改,而不是定义局部变量


    返回值

    1.一个return:执行到return,结束函数
    2.多个return:只要执行到一个return,结束函数
    3.return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据
    4.如果return后面有多个数据,那么默认是元组

    参数

    缺省参数

    在形参中默认有值的参数,称之为缺省参数。
    调用函数时,缺省参数的值如果没有传入,则取默认值。
    注意:带有默认值的参数一定要位于参数列表的最后面
    例子:

    def printinfo(name, age=35):
       # 打印任何传入的字符串
       print("name: %s" % name)
       print("age %d" % age)
    
    # 调用printinfo函数
    printinfo(name="miki")  # 在函数执行过程中 age去默认值35
    printinfo(age=9 ,name="miki")
    
    结果:
    name: miki
    age: 35
    name: miki
    age: 9
    

    不定长参数

    格式
    def functionname([formal_args,] *args, **kwargs):
       """函数_文档字符串"""
       function_suite
       return [expression]
    

    加了星号(*)的变量args会存放所有未命名的变量参数,args为元组

    而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典.

    缺省参数在*args后面

    如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 args的后面, 但如果有kwargs的话,*kwargs必须是最后的

    相关文章

      网友评论

          本文标题:函数

          本文链接:https://www.haomeiwen.com/subject/urreektx.html