Python函数中的全局变量与局部变量

# a,b变量是全局变量,在整个py文件中都可以访问

a = 11

b = 12


# 定义一个函数

def first():

# 这个变量是函数内部定义的变量,属于局部变量,只能在函数中使用

c = "Hello"

# 大括号{} 是format()函数的用法,格式化

print("c = {}".format(c))


# 如果局部变量定义的名称与全局变量相同,相当于是在函数中又定义了一个新的局部变量,不会修改全局变量

# 当函数中使用某个变量时,如果该变量名与全局变量相同,默认使用局部变量

a = 21

print("函数内部a = {}".format(a))


# 函数内部如果想要修改全局变量

# 使用global关键字可以对变量进行声明,说明此变量是全局变量,还可以用来修改全局变量的值

global b

b = 22


# 使用locals,globals可以查看变量是属于全局变量还是局部变量

print("locals = {},globals = {}".format(locals(), globals()))


# 调用函数,如果不调用函数,修改变量就不会生效,因为不调用函数相当于未运行此代码块

first()

# 局部变量c只能在函数中使用

# print(c)

print("函数外部a = {}".format(a))

print("函数外部b = {}".format(b))


# Python中 locals可以查看局部变量,globals可以查看全局变量


# 在Python中,只有函数能够分隔作用域

if a < b:

# 变量d也属于全局变量,但不建议这样定义,因为这样定义只有当条件为真时才有变量d,条件为假时代码不运行,无变量d

d = 7

print(d)

相关文章

python变量作用域详解

python变量的一生包括变量的申明,引用和修改及消亡,此文主要关注变量的引用和修改。变量从作用域来分主要包括全局变量,嵌套(外部)变量,局部变量。一,全局变量,一般定义在模块顶部,对整个模块都生效,...

看一看,Python这四种作用域你都知道吗?

点赞、收藏、加关注,下次找我不迷路一、啥是作用域?先打个比方比如说,你在自己的卧室(相当于一个小空间)里放了一本书,这本书在卧室里随便你怎么看,这就是这本书在卧室这个 "作用域" 内...

一文读懂Python中的全局变量局部变量和作用域

通常小白在写代码时,只知道引用变量来应对一些基础的编码问题,当面试官问及局部变量和全局变量的具体细节时,就会一脸懵逼,傻傻分不清楚!其实想要彻底了解局部变量和全局变量的关系,本质是大家需要明白何为作用...

新手学Python避坑,学习效率狂飙! 五、Python循环中的变量作用域

在 Python 里,变量的作用域指的是变量可被访问的代码范围。循环里的变量作用域在 Python 中是个常见且关键的概念。一、变量作用域Python 里的变量作用域主要有局部作用域和全局作用域。1、...

新手易犯错的地方Python作用域

好多新手一开始比较容易犯错的地方理解作用域对于编写高效的python代码十分重要现在就讲下四种作用域,按照从内到外的顺序:局部作用域(Local) - 在函数内部定义的变量嵌套作用域(Enclosin...

Python闭包实现:nonlocal关键字与变量作用域

在Python编程中,闭包是一个强大而优雅的特性,它允许函数捕获并记住其定义环境中的变量值。通过闭包,可以创建更加灵活和模块化的代码结构。而nonlocal关键字的引入,则进一步增强了Python闭包...