函数初识

函数

函数的格式

  • def fun (): def关键字 函数名后面必须加:fun()表示函数会被执行
  • return 表示函数的返回值,默认为None,一旦出现return,此函数停止,后面的内容不再执行,如果有多个返回值,则会将多个值打包成元组返回。

函数的参数

  • 形参就是一个变量名,实参就是值 传参就是在赋值

  • 参数原则,位置参数一定在关键字参数之前,并且一一对应。

  • 万能参数 形参 *args 接受任意多个位置参数,**kwargs接受任意多个关键字参数。

    *args 接受的是多个位置参数, 会将接收到的的参数打包成元组,**kwargs 接受的是多个关键字参数,会将参数打包成字典类型。
    位置参数  *args(位置参数)  默认值参数 > **kwargs(默认参数)
    
  • 万能参数 实参 *args传递任意多个位置参数, **kwargs接受任意多个关键字参数。

    *将传递的可迭代对象打散,  **会将接受的字典打散
    

函数的作用域

  • 全局作用域: 在整个文件的任何位置都可以使用(遵循 从上到下逐⾏执行).

  • 局部作用域: 在函数内部可以使用.

    global  在函数内部修改全局变量,如果全局不存在则会创建
    nonlocal 只修改上一层变量,如果上一层中没有变量就往上找一层,只会找到函数的最外层,不会找到全局进行修改
    a = 100
    def func():   
        global a    # 加了个global表示不在局部创建这个变量了. 而是直接使用全局的a   
        a = 28   
    print(a)
    func()
    print(a)
    ==================================================================
    a = 10
    def func1():   
        a = 20   
        def func2():
            nonlocal a       
            a = 30       
            print(a)  
        func2()   
        print(a)
    func1()
    加了nonlocal
    30
    30
    不加nonlocal
    30
    20
    

函数的调用

  • 函数名()就是函数的调用,如果没有()只有函数名,就只是函数的内存地址传递,只要在加()就能执行此函数
原文地址:https://www.cnblogs.com/feiguoguobokeyuan/p/13345436.html