python中变量和函数的区别_Python中的全局变量和局部变量的区别(代码详解)

5c8c946d24911766.jpg

全局变量是在函数外部定义和声明的变量,我们需要在函数内部使用它们。#这个函数使用全局变量s

def f():

print s

# 全局作用域

s = "I love Python"

f()

输出:I love Python

如果在函数范围内定义了具有相同名称的变量,那么它将仅打印函数内给出的值而不是全局值。# 这个函数有一个与s同名的变量。

def f():

s = "Me too."

print s

# 全局作用域

s = "I love Python"

f()

print s

输出:Me too

I love Python

在我们调用函数f()之前,变量s被定义为字符串“I love Python”。f()中唯一的语句是“print s”语句。由于没有本地s,将使用全局s的值。

问题是,如果我们改变函数f()内部的s值会发生什么?它会影响全局吗?

我们在下面的代码中测试它:def f():

print s

# 如果我们在下面评论,这个程序不会显示错误。

s = "Me too."

print s

#全局作用域

s = "I love Python"

f()

print s

输出:Line 2: undefined: Error: local variable 's' referenced before assignment

为了使上述程序有效,我们需要使用“global”关键字。如果我们想要进行分配/更改它们,我们只需要在函数中使用全局关键字。打印和访问不需要全局。

Python“假设”我们想要一个局部变量,因为f()内部的赋值,所以第一个print语句抛出此错误消息。在函数内部更改或创建的任何变量都是本地的,如果它尚未声明为全局变量。要告诉Python,我们要使用全局变量,我们必须使用关键字“global”

如以下示例所示:# 这个函数修改全局变量's'

def f():

global s

print s

s = "Look for Python"

print s

#全局作用域

s = "Python is great!"

f()

print s

输出:Python is great!

Look for Python.

Look for Python.

一个很好的例子:a = 1

# 使用global,因为没有本地'a'

def f():

print 'Inside f() : ', a

#变量“a”被重新定义为局部变量

def g():

a = 2

print 'Inside g() : ',a

#使用全局关键字修改全局'a'

def h():

global a

a = 3

print 'Inside h() : ',a

# 全局作用域

print 'global : ',a

f()

print 'global : ',a

g()

print 'global : ',a

h()

print 'global : ',a

输出:global : 1

Inside f() : 1

global : 1

Inside g() : 2

global : 1

Inside h() : 3

global : 3

以上就是Python中的全局变量和局部变量的区别(代码详解)的详细内容,更多请关注php中文网其它相关文章!

article_wechat2021.jpg?1111

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值