美文网首页
025_函数返回值及变量作用域

025_函数返回值及变量作用域

作者: Nzkalhbxx | 来源:发表于2017-10-31 13:44 被阅读0次
# __author__:Nzkalhbxx
# __date__:17-10-30
print("函数的返回值".center(33, "-"))
def printName(name):
    print("my name is %s"%name)
    # None为默认返回值
    return None
printName("psj")

def add(x, y):
    result = x + y
    return result

print(add(3, 7))

def printMessage(name, age, hobby):
    # 当函数返回多个值时, python会将数据打包成元组作为return值
    return name, age, hobby
print(printMessage(name = "psj", age = 19, hobby = "passion fruit"))

print("变量的作用域".center(33, "-"))
# 定义在函数之外的全部变量在全局可用
count = 3
def fun1():
    print("局部变量".center(21, "-"))
    # 定义在函数内部的变量称为局部变量
    count = 7
    print(count)
    def fun2():
        print("嵌套在父集函数内的局部变量".center(21, "-"))
        count = 11
        print(count)
    fun2()
    return fun2
returnFun = fun1()
returnFun()


def use_define():
    # 语法报错: 由于在函数内有一个与全部变量同名的局部变量, 因此会使用局部变量, 但由于先使用后定义, 因此报错
    # print(count)
    # 语法报错: 由于函数内又定义了一个count, 而count在使用定义时使用了自身, 而自身又是未定义的, 因此报错
    # count = count + 1   # UnboundLocalError: local variable 'count' referenced before assignment
    # 当函数中要定义并使用一个与全局变量名相同的变量, 为了在未声明之前就可以使用变量而不报错, 可以使用global来声明函数中使用的变量是全部变量
    global count
    count += 1

    num = 1
    def use_define2():
        nonlocal num
        # 报错: 未声明即使用, 解决方法, 使用nonlocal关键字声明变量不是本地变量而是上一层函数中的变量
        num += 1
        print("num in def2: " + str(num))
    use_define2()
    print("num in def1: " + str(num))
    return "Can't use variates before definition"

message = use_define()
print("count of out: "+ str(count))
print(message)
运行结果

相关文章

  • PHP-自定义函数和内部函数

    变量作用域与静态变量 函数的参数及函数的引用传递函数的返回值及引用返回外部文件的导入系统内置函数 变量的作用域也成...

  • 025_函数返回值及变量作用域

  • 6. php基础 - 自定义函数和内部函数

    考点:变量的作用域和静态变量 延伸:函数的参数及参数的引用传递,函数的返回值及引用返回,外部文件的引入,系统内置的...

  • python函数进阶1

    1.什么是返回值 确定函数返回 2.获取函数返回值 2.函数的调用过程 变量的作用域 - 变量可以使用的范...

  • Scope

    1. 全局作用域 全局变量拥有全局作用域 2. 函数作用域 在函数内声明的变量用于函数作用域。在函数体内,局部变量...

  • Day8 函数2

    Day8 01.函数的返回值 02.作用域 03.匿名函数 04.函数作为变量 05.递归函数 01.函数的返回值...

  • 【你不知道的JavaScript】(二)函数作用域和块作用域

    (一)函数作用域 1. 函数中的作用域 函数作用域的含义是指,属于这个函数的全部变量都可以在整个函数的范围内使用及...

  • Python函数复习

    本章重点: 掌握函数参数传递 变量的作用域 lambda函数 函数定义: 一、变量的作用域 作用域顾名思义是指变量...

  • day8函数

    函数的返回值,作用域,匿名函数,递归函数以及怎么函数用作变量 函数的额返回值 1.就是函数返回给调用者的值2.就是...

  • 函数作用域&&作用域链

    注意:函数作用域和变量作用域并不是一个概念,在学习函数作用域时可以先暂时忘记变量作用域的概念。 怎么理解函数作用域...

网友评论

      本文标题:025_函数返回值及变量作用域

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