zoukankan      html  css  js  c++  java
  • Python函数(二)

    匿名函数

    Python中使用lambda来创建匿名函数。

    • lambda只是一个表达式,函数体简单
    • lambda是一个表达式,而不是一个代码块,仅仅能在lambda表达式中封装有限的逻辑进去。
    • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
    • lambda一般只能写一行。

    语法格式:

    lambda [arg1, [, arg2, ]]:expression
    

    示例代码:

    result = lambda arg1, arg2 : arg1 + arg2
    
    # 调用result函数
    print(result(10, 20))
    

    return关键字

    return关键字用于函数返回值,如果没有返回值就返回None。

    示例代码:

    def result(arg1, arg2):
        total = arg1 + arg2
        return total
    
    
    res = result(10, 20)
    print(res)
    

    变量作用域

    在所有的编程语言当中,都存在变量的作用域,一个程序的变量并不是在哪个位置都可以访问的。

    全局变量和局部变量

    定义在函数内部的变量拥有一个局部作用域,定义在函数外拥有全局作用域。
    函数会优先使用局部变量,局部没有变量则去找全部变量。

    示例代码:

    total = 10 # 全局变量
    
    def result(arg1, arg2):
        # 局部变量total
        total = arg1 + arg2
        print("函数内的局部变量是", total)
        return total
    
    
    result(10, 20)
    print("函数外是全局变量", total)
    

    global关键字

    • 将变量定义为全局变量,可以通过定义为全局变量,实现在函数内部修改变量值。
    • 一个global关键字可以同时定义多个变量,如global x,y,z

    示例代码:

    num = 10
    
    def set_num_value():
        # 使用global声明全局变量
        global num
        num = 30
        return num
        
    def print_num():
        # 未使用global关键字
        print(num)
    
    print(set_num_value())
    print(num)
    

    可以看到在使用global关键字之后,num的值为30,已经经过global关键字在函数内部修改了num的值。

  • 相关阅读:
    (4.24~4.30)
    (4.17~4.23)
    (4.10~4.16)
    FFT题集
    kd树的构造与搜索
    schtasks命令
    关于[WinError 10054] 远程主机强迫关闭了一个现有的连接。
    数据去重复
    将ppt文档转换成pdf
    mvc上传
  • 原文地址:https://www.cnblogs.com/liudemeng/p/12245816.html
Copyright © 2011-2022 走看看