百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python中的全局变量和局部变量(python中全局变量和局部变量的定义)

off999 2024-11-07 11:43 21 浏览 0 评论

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

# This function uses global variable s 
def f():  
    print s  
  
# Global scope 
s = "I love Prog61"
f() 

输出:

I love Prog61

如果在函数范围内也定义了相同名称的变量,则它将仅打印函数内部给定的值,而不输出全局值。

# This function has a variable with 
# name same as s. 
def f():  
    s = "Me too."
    print s  
  
# Global scope 
s = "I love Prog61" 
f() 
print s 

输出:

Me too.
I love Prog61.

在调用函数f()之前,变量s被定义为字符串“ I love Prog61”。f()中唯一的语句是“print s”语句。由于没有local,因此将使用global的值。

问题是,如果我们在函数f()中更改s的值,将会发生什么? 也会影响全局变量吗? 我们在以下代码中对其进行测试:

def f():  
    print s 
  
    # This program will NOT show error 
    # if we comment below line.  
    s = "Me too."
  
    print s 
  
# Global scope 
s = "I love Geeksforgeeks" 
f() 
print s 

输出:

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

为了使上述程序有效,我们需要使用“global”关键字。如果我们要进行赋值/更改它们,则只需要在函数中使用global关键字即可。 全局不需要打印和访问。为什么? Python“假定”由于要在f()内部分配s而需要局部变量,因此第一个print语句会抛出此错误消息。如果尚未在函数内部更改或创建的任何变量都未声明为全局变量,则该变量为本地变量。要告诉Python,我们要使用全局变量,我们必须使用关键字“global”,如以下示例所示:

# This function modifies global variable 's' 
def f(): 
    global s 
    print s 
    s = "Look for Geeksforgeeks Python Section"
    print s  
  
# Global Scope 
s = "Python is great!" 
f() 
print s 

现在没有歧义了。

输出:

Python is great!
Look for Geeksforgeeks Python Section.
Look for Geeksforgeeks Python Section.

一个很好的例子

a = 1
  
# Uses global because there is no local 'a' 
def f(): 
    print 'Inside f() : ', a 
  
# Variable 'a' is redefined as a local 
def g():     
    a = 2
    print 'Inside g() : ',a 
  
# Uses global keyword to modify global 'a' 
def h():     
    global a 
    a = 3
    print 'Inside h() : ',a 
  
# Global scope 
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

相关推荐

office2007免安装绿色版(office2007绿色完整版)

把你的绿色版删除!附件的压缩包里有微软提供的卸载程序!运行一遍就可以了!office2007哪个版本好?针对office2007哪个版本好,office2007的版本主要有office2007官方下载...

魔兽官方对战平台(魔兽官方对战平台什么时候回归)

魔兽争霸的对战平台每个时间段都不一样。以前最后的就是浩方队员平台,还有QQ对战平台,后来又出来了vs对战平台。其中开始的浩方平台高手多,后来vs平台出来后大量高手都跑过去了,QQ平台一般菜鸟比较多。...

三国策略手游(三国策略手游试玩)

率土之滨官方版是一款超级好玩的全新策略三国竞技冒险手游,高清质风格的游戏画面能够带你体验全新的策略战斗,高度自由的竞技玩法,玩家可以在游戏中打造属于自己的三国世界1、《极无双》:3D动作军团征战手游《...

在线音频转换器(在线音频转换器Audio)

音频转换器是一种工具,它可以将一个音频格式转换成另外一个格式。使用它非常简单,首先打开音频转换器软件,然后选择需要转换的音频文件,设置输出格式和参数,最后点击转换按钮即可完成转换。注意,在设置输出格式...

拼音输入法哪个最好用(电脑打字常用输入法)

拼音输入法推荐使用谷歌拼音输入法。谷歌的拼音输入法,有五大特色:智能输入:选词和组句准确率高,能聪明地理解您的意图,短句长句,随想随打。时尚语汇:海量词库整合了互联网上的流行语汇和热门搜索词。...

ps软件官方免费下载电脑版免费

1:点击下载好的安装包先进行解压,然后点击“Photoshop_CS6_CHS_lite.exe”文件2:在弹开的界面中点击“自定义安装”,这里小编说明一下,如果用户选择“快速安装”的话,那么软件的安...

传奇盒子平台大全(传奇盒子赚钱)

在996传奇盒子中,会员玩家可以在“我的游戏”中通过“云玩”进入之前体验过的传奇游戏,开启挂机模式后,就能在“云多开”系统里观察到自己的云设备和正在进行云游戏状态的传奇游戏,如果点进手机后台,还能看到...

pdf查看软件(查看pdf格式的软件)

pdf当然可以有查找功能:1、第一步:首先我们要使用WPSOffice打开PDF文档。2、第二步:我们需要依次点击“开始”--->“查找”(或使用快捷键“Ctrl+F”)。3、第三步:我们在查...

中国象棋下载安装(下载中国象棋官方版)

不用刻意下载个中国象棋APP,只需要下载一个QQ游戏,里头就有中国象棋玩了,里头点开后,自动下载,还可以连接其他玩家,一起玩,切磋棋艺。你这问题太模糊了。。。是你有一个象棋游戏,想放到桌面上,双击就可...

手机bt下载软件哪个好(手机有什么下载bt的软件)

磁力下载app推荐黑科技APP,这个好用黑科下载器APP也是一款功能强大且使用的下载类工具应用,它支持磁力以及种子文件的下载。还可以把下载的的文件转存到云盘,并支持在线的云播预览功能,无需等待能直接边...

狂野飙车9下载(狂野飙车9下载入口)

您可以在AppStore搜索“狂野飙车9”或者直接使用Safari等浏览器搜索“狂野飙车9官方下载”,进入官网下载页面,点击下载按钮并根据提示进行下载安装即可。在下载前请确保您的苹果设备已连接稳定...

免费相册视频制作软件(怎么把拍的照片做成视频)
免费相册视频制作软件(怎么把拍的照片做成视频)

电脑端1.会声会影会声会影上手简单而且做出的相册的效果也很不错,很适合新手使用,x7以前的版本都是可以自己去免费用的。2.premiere(pr)pr是一款比较专业的视频剪辑制作软件,用它来做电子相册也是很不错的,做出的效果很高大上,如果只...

2026-01-17 21:43 off999

图片文字修改神器免费(手机无痕修改图片文字软件)

首先区分是完整图片导入还是ai软件自己编写的文字,如果导入的图片无法修改,只能像ps一样去修图,如果是软件编写的,无法选取先要解锁,方法:上面任务栏对象-选择全部解锁。然后修改。修改方法:如果对方编组...

开户最忌三个证券公司(随便哪个证券公司开户都一样吗)

在不同的证券公司开户,确实存在一些区别。首先,不同的证券公司提供的交易品种和交易费用可能不同,有些公司可能提供更广泛的投资选择,而有些公司则可能提供更低的佣金率,这直接影响到您的投资成本和收益。其次,...

农行手机银行app下载(中国农业银行App下载)

自己下载的农行手机银行是能转账的,只是额度可能会要低一些,比如一类卡,在农行网点注册下载并开通手机银行,一天转账的额度是有十万,而自己下载注册开通的手机银行额度则只有5万,自己是可以下载农行手机银行是...

取消回复欢迎 发表评论: