Python函数的作用域及内置函数详解

  • Post category:Python

关于Python函数的作用域及内置函数详解,可以分为以下几个部分:

一、Python函数的作用域

在Python中,函数作用域分为局部作用域、全局作用域和嵌套作用域三种。

1.局部作用域

定义在函数内部的变量称为局部变量,它们只在对应的函数内部生效,函数外部无法访问。

def func():
    x = 10   # 定义一个局部变量x
    print('在函数内部:x =', x)

func()
print('在函数外部:x =', x)  # 这里会报错,提示找不到变量x

上述代码中,变量x是在函数内部定义的,所以它的作用域只在这个函数内部有效。在函数外部访问x时就会报错。

2.全局作用域

定义在函数外部的变量称为全局变量,它们的作用域贯穿整个程序,所有函数都可以访问。

x = 10   # 定义一个全局变量x
def func():
    print('在函数内部:x =', x)

func()
print('在函数外部:x =', x)

上述代码中,变量x是在函数外部定义的,所以它的作用域为全局作用域,可以在函数内部和函数外部访问。

3.嵌套作用域

在Python中,如果一个函数定义在另外一个函数内部,则内部函数的作用域既可以访问自己局部作用域中的变量,也可以访问外部函数已经在嵌套作用域中声明的变量。

def func1():
    x = 10   # 定义一个局部变量x
    def func2():
        nonlocal x
        x += 1
        print('在嵌套函数内部:x =', x)
    func2()
    print('在外层函数内部:x =', x)

func1()

上述代码中,func2()函数中使用了nonlocal关键字,表示x是来自于外部函数的嵌套作用域中的变量,而不是重新定义一个新的变量。所以在func2()中修改x的值会影响外部函数的变量x。

二、Python内置函数

Python内置函数是指Python解释器提供的、可以直接使用的函数。比如print()、len()、abs()等函数。

这里介绍一下常用的内置函数:

1.print()

print()函数是Python中最常用、最基础的输出函数。它可以输出文本、数字、变量等。

print('hello world')
x = 10
print(x)

2.len()

len()函数可以返回一个对象的长度或元素个数。

lst = [1, 2, 3, 4, 5]
print(len(lst))

3.abs()

abs()函数可以返回一个数的绝对值。

x = -10
print(abs(x))

4.max()

max()函数可以返回一个可迭代对象中的最大值。

lst = [1, 2, 3, 4, 5]
print(max(lst))

5.min()

min()函数可以返回一个可迭代对象中的最小值。

lst = [1, 2, 3, 4, 5]
print(min(lst))

至此,Python函数的作用域及内置函数的详解就讲解完了。