通关Python函数只需这篇:你的编程效率即将翻倍!(函数进阶)


目录

函数的作用域:

1.作用域的核心概念

2.作用域的类型

(1) 局部作用域(Local Scope)

(2) 嵌套作用域(Enclosing Scope) 

(3) 全局作用域(Global Scope) 

(4) 内置作用域(Built-in Scope) 

变量查找顺序

关键字global和nonlocal 

global:在函数内部 修改全局变量:

 nonlocal:在嵌套函数中 修改外层函数变量(非全局):

内置函数

常用内置函数分类

(1) 数学运算​编辑

 (2) 类型转换

 (3) 输入输出

 (4) 迭代与序列操作

 (5) 对象操作​编辑

(6) 逻辑判断 

(7) 函数式编程 ​编辑

 (8) 文件操作​编辑

 (9) 其他

示例代码

在教大家怎么查找完整内置函数列表吧


 

接着上节内容

函数的作用域:

在编程中,作用域(Scope) 是指程序中变量、函数或对象的 可见性和生命周期范围。它决定了在代码的哪些部分可以访问某个变量或函数,以及在什么时间这些变量或函数会被创建和销毁。

1.作用域的核心概念

  • 可见性:变量或函数在哪些代码区域可以被访问。

  • 生命周期:变量或函数从创建到销毁的时间范围。

  • 命名空间:作用域的实现依赖于命名空间(Namespace),每个作用域对应一个独立的命名空间。

2.作用域的类型

 在Python中,作用域主要分为以下几种:

(1) 局部作用域(Local Scope)

  • 定义:在函数或方法内部定义的变量。

  • 特点

    • 只能在函数内部访问。

    • 函数调用结束后,局部变量会被销毁。

      def func():
          x = 10  # x是局部变量
          print(x)
      func()
      print(x)  # 报错:x未定义

(2) 嵌套作用域(Enclosing Scope) 

  • 定义:在外层嵌套函数中定义的变量。

  • 特点

    • 用于闭包(Closure)场景。

    • 内层函数可以访问外层函数的变量,但外层函数不能访问内层函数的变量。

  • 示例

    def outer():
        y = 20  # y是嵌套作用域变量
        def inner():
            print(y)  # 内层函数访问外层变量
        inner()
    outer()

(3) 全局作用域(Global Scope) 

  • 定义:在模块(文件)级别定义的变量。

  • 特点

    • 在整个模块中可见。

    • 生命周期从模块加载开始,到模块卸载结束。

  • 示例

    z = 30  # z是全局变量
    def func():
        print(z)  # 函数内可以访问全局变量
    func()

(4) 内置作用域(Built-in Scope) 

  • 定义:Python内置的函数和变量(如printlen等)。

  • 特点

    • 在任何地方都可以访问。

    • 优先级最低,当其他作用域有同名变量时会被覆盖。

  • 示例

    print(len([1, 2, 3]))  # len是内置函数

变量查找顺序

 当访问一个变量时,Python会 按 L → E → G → B 的顺序查找

x = "global"  # G层

def outer():
    x = "enclosing"  # E层
    def inner():
        x = "local"  # L层
        print(x)      # 输出 "local"(优先查找L层)
    inner()

outer()

那么怎么更改变量所处位置呢,我们需要关键字

关键字globalnonlocal 

global:在函数内部 修改全局变量

x = 0
def func():
    global x  # 声明使用全局变量x
    x = 10    # 修改全局变量,而非创建局部变量

func()
print(x)      # 输出 10

 nonlocal:在嵌套函数中 修改外层函数变量(非全局):

def outer():
    x = 1
    def inner():
        nonlocal x  # 声明使用外层函数的x
        x = 2       # 修改外层函数的x
    inner()
    print(x)        # 输出 2(外层变量被修改)
outer()

简单总结一下吧: 

  • 优先使用局部变量:避免全局变量污染。

  • 必要时用global/nonlocal:明确修改变量来源。

  • 闭包谨慎处理变量:注意循环中的延迟绑定问题。


    内置函数

Python的 内置函数(Built-in Functions) 是Python解释器直接提供的函数,无需导入任何模块即可使用。这些函数涵盖了常见的数据操作、数学计算、类型转换等功能,是Python编程的基础工具。 

常用内置函数分类

(1) 数学运算

 (2) 类型转换

 (3) 输入输出

 (4) 迭代与序列操作

 (5) 对象操作

(6) 逻辑判断 

(7) 函数式编程 

 (8) 文件操作

 (9) 其他

示例代码

迭代操作

for i, v in enumerate(["a", "b", "c"]):
    print(i, v)          # 输出 0 a, 1 b, 2 c

在教大家怎么查找完整内置函数列表吧

import builtins
print(dir(builtins))

接下来会更精彩

评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值