Python学习之路-函数-作用域

简介: 开发者学堂课程,了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。课程地址:https://developer.aliyun.com/learning/course/601/detail/8730

作用域:指的是变量生效的区域

a定义在了函数内部,所以他的作用域就是函数内部,函数外部无法访问

deffn():
a=10# a定义在了函数内部,所以他的作用域就是函数内部,函数外部无法访问print('函数内部:','a=',a)
fn()
print('函数外部:','a=',a)

image.png

试试把b定义在函数外部

b=10deffn():
a=10print('函数内部:','b=',b)
fn()
print('函数外部:','b=',b)

image.png

得到的结论是:在 Python 中一共有两种作用域,全局作用域和函数作用域


全局作用域

全局作用域是在程序执行时创建,在程序执行结束时销毁

所有函数以外的区域都是全局作用域

在全局作用域中定义的变量都是全局变量,全局变量可以在程序的任意位置被访问到。

函数作用域

1.函数作用域在函数调用时创建,在调用结束时销毁

2.函数每调用一次就会产生一个新的函数作用域

3.在函数作用域中定义的变量,都是局部变量,它只能在函数内部被访问

4.当使用变量时,会优先在当前作用域中寻找该变量,如果有则使用,如果没有则继续去上一级作用域中寻找,如果有则使用,

没有则继续去上一级作用域中寻找,以此类推,

直到找到全局作用域,依然没找到,则抛出异常

Name Error: name ‘a’ is not defined


5.内部函数能看到外部函数,外部函数能看到全局函数;外部函数不能看到内部函数)

6.在函数中为变量赋值时,默认都是局部变量赋值

7.如果希望在函数内部修改全局变量,则需要使用 global 关键字,来声明变量

global a # 声明在函数内部的使用a是全局变量,此时再去修改 a 时,就是在修改全局的 a

a=20deffn():
globalaa=10print('函数内部:a=',a)
fn()
print('函数外部:a=',a)

image.png

相关文章
|
1月前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
68 0
|
1月前
|
Python
Python之函数详解
【10月更文挑战第12天】
Python之函数详解
|
1月前
|
存储 数据安全/隐私保护 索引
Python 散列类型三以及函数基础
【10月更文挑战第11天】
Python 散列类型三以及函数基础
|
26天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
28天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
30天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
31 4
|
1月前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
22 1
|
1月前
|
存储 Python
在Python中,什么是作用域
【10月更文挑战第12天】在Python中,什么是作用域
18 2
|
1月前
|
索引 Python
Python中的其他内置函数有哪些
【10月更文挑战第12天】Python中的其他内置函数有哪些
17 1
|
1月前
|
机器学习/深度学习 人工智能 架构师
Python学习圣经:从0到1,精通Python使用
尼恩架构团队的大模型《LLM大模型学习圣经》是一个系统化的学习系列,初步规划包括以下内容: 1. **《Python学习圣经:从0到1精通Python,打好AI基础》** 2. **《LLM大模型学习圣经:从0到1吃透Transformer技术底座》**
Python学习圣经:从0到1,精通Python使用
下一篇
无影云桌面