python中如何设置全局变量,Python如何设置全局变量
python全局变量的使用:1。用代码[if I in b: print (%d in list b% i)]引用全局变量;2.用代码[print before func b:,b]修改全局变量。
python全局变量的使用:
一.引文
使用的全局变量只是一个引用。如果它的值在函数中没有被修改,就不需要添加global关键字。比如:#!/usr/strong未来/python
a=1
b=[2,3]
定义函数():
如果a==1:
打印( a: %d %a
对于范围(4)中的I:
如果我在b:
打印(列表b“% I”中的%d)
否则:
打印( %d不在列表b %i 中)
if __name__==__main__ :
函数()
输出结果:
可以看出,列表和变量都可以直接引用。
二。修正
如果使用的全局变量需要在函数中修改,就会涉及到二义性,比如#!/usr/strong未来/python
a=1
b=[2,3]
定义函数():
a=2
在函数a中打印
b[0]=1
在函数b中打印
if __name__==__main__ :
在函数a之前打印
在函数b之前打印
函数()
在函数a之后打印
在函数b之后打印
输出结果:
可以看出,对于函数func中的变量A, a=2 ,因为存在可以同时意味着引用全局变量A和创建一个新的局部变量的歧义,python指定默认创建一个新的局部变量来消除这种歧义,但对于列表B, b[0]=1 则没有这种歧义。
所以直接修改全局变量,但是如果改成 b=[3,4],那么b也会变成局部变量。特别是,当在func中的a=2之前添加语句“if a==1:”时,脚本运行不正确,因为该语句引入了一个全局变量,导致语句“a=1”无法创建同名的局部变量。
所以需要修改全局变量A,可以在 a=2 前加上全局A声明,比如#!/usr/strong未来/python
a=1
b=[2,3]
定义函数():
全球a
a=2
在函数a中打印
b[0]=1
在函数b中打印
if __name__==__main__ :
在函数a之前打印
在函数b之前打印
函数()
在函数a之后打印
在函数b之后打印
输出结果:
结论:全局变量在引用时不需要被golbal声明,但在修改时需要声明全局变量。特别是,如果您只修改列表、字典等中元素的值。可以直接使用全局变量而不用全局声明。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。