Python基础 之 Python3 命名空间和作用域 7

简介: Python3 命名空间和作用域

Python基础 之 Python3 命名空间和作用域 7

Python3 命名空间和作用域

global 和 nonlocal关键字

当内部作用域想修改外部作用域的变量时,就要用到 global 和 nonlocal 关键字了。

另外有一种特殊情况,假设下面这段代码被运行:

实例(Python 3.0+)

#!/usr/bin/python3

a = 10
def test():
    a = a + 1
    print(a)
test()

以上程序执行,报错信息如下:

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    test()
  File "test.py", line 5, in test
    a = a + 1
UnboundLocalError: local variable 'a' referenced before assignment

错误信息为局部作用域引用错误,因为 test 函数中的 a 使用的是局部,未定义,无法修改。

也可以通过函数参数传递:

实例(Python 3.0+)

#!/usr/bin/python3

a = 10
def test(a):
    a = a + 1
    print(a)
test(a)

执行输出结果为:

11
目录
相关文章
|
7月前
|
人工智能 数据库连接 开发工具
[oeasy]python069_当前作用域都有些什么_列表dir_函数_builtins
本文介绍了Python中`dir()`函数的使用方法及其作用。`dir()`可以列出当前作用域内的所有变量和成员,类似于`locals()`,但`dir()`不仅限于本地变量,还能显示模块中的所有成员。通过`dir(__builtins__)`可以查看内建模块中的所有内建函数,如`print`、`ord`、`chr`等。此外,还回顾了`try-except-finally`结构在数据库连接中的应用,并解释了为何`print`函数可以直接使用而无需导入,因为它位于`__builtins__`模块中。最后,简要提及了删除`__builtins__.print`的方法及其影响。
114 0
|
11月前
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
757 2
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
|
11月前
|
存储 Python
在Python中,什么是作用域
【10月更文挑战第12天】在Python中,什么是作用域
118 2
|
12月前
|
Python
关于 Python 列表解析式的作用域问题
关于 Python 列表解析式的作用域问题
102 11
|
11月前
|
安全 Linux 开发者
|
11月前
|
存储 自然语言处理 Python
解密 Python 的作用域和名字空间
解密 Python 的作用域和名字空间
112 1
|
12月前
|
Shell Linux Python
python执行linux系统命令的几种方法(python3经典编程案例)
文章介绍了多种使用Python执行Linux系统命令的方法,包括使用os模块的不同函数以及subprocess模块来调用shell命令并处理其输出。
389 0
|
12月前
|
调度 数据库 Python
python中APScheduler的使用详解(python3经典编程案例)
文章详细讲解了在Python中使用APScheduler来安排和执行定时任务的方法,包括不同调度器的配置与使用场景。
516 0
作用域|Python从入门到精通:高阶篇之九
本节重点介绍了python的作用域,全局作用域和函数作用域。
作用域|Python从入门到精通:高阶篇之九
|
3月前
|
Python
Python编程基石:整型、浮点、字符串与布尔值完全解读
本文介绍了Python中的四种基本数据类型:整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。整型表示无大小限制的整数,支持各类运算;浮点型遵循IEEE 754标准,需注意精度问题;字符串是不可变序列,支持多种操作与方法;布尔型仅有True和False两个值,可与其他类型转换。掌握这些类型及其转换规则是Python编程的基础。
207 33

推荐镜像

更多