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的值。

  • 相关阅读:
    『Python』进程同步
    『Python』多进程
    『GoLang』协程与通道
    『GoLang』错误处理
    『码农翻身』语言的学习
    『GoLang』fmt包的使用
    异或运算符(^)、与运算符(&)、或运算符(|)、反运算符(~)、右移运算符(>>)、无符号右移运算符(>>>)
    HTML DOM focus() 方法
    JavaScript中的indexOf使用方法
    HTML 5 中的textarea标签
  • 原文地址:https://www.cnblogs.com/liudemeng/p/12245816.html
Copyright © 2011-2022 走看看