温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python global如何创建及修改

发布时间:2021-09-13 10:55:21 阅读:163 作者:柒染 栏目:开发技术
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章将为大家详细讲解有关python global如何创建及修改,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1、global在函数内创建全局变量,相当于在文件内创建全局变量。

2、修改函数内的全局变量。由于函数中直接对全局变量进行分配/修改,因此被视为创建新的局部变量。

当然,可以通过索引定位全局变量中的元素进行修改。

实例

global 变量1, 变量2, …
变量1 = 赋值数据

# 错误示范
期望修改的全局变量1 = 数据 # python 认为创建了一个局部变量:变量1。

# 正确示范
global 期望修改的全局变量1 # 先告诉 python 这个变量在这个局部也是当做全局变量看。
期望修改的全局变量1 = 数据

内容扩展:

Python的全局变量:int string, list, dic(map) 如果存在global就能够修改它的值。而不管这个global是否是存在于if中,也不管这个if是否能够执行到。

但是,如果没有

if bGlobal: 
global g_strVal;

int string 将会报错。而list dic(map)是ok的。

#!/usr/bin/dev python 
 
import sys 
import os 
 
g_nVal = 0; 
g_strVal = "aaaa"; 
 
g_map = { 
"aaa" : "111""bbb" : "222""ccc" : "333""ddd" : "444" 
} 
 
g_ls = ['a''b''c'] 
 
def FixInt(bGlobal = False): 
  if bGlobal: 
    global g_nVal;   
     
  g_nVal = g_nVal + 1; 
   
def FixString(bGlobal = False): 
  if bGlobal: 
    global g_strVal; 
   
  #fix string value 
  g_strVal = g_strVal + 'b'; 
 
def FixMap(bGlobal = False): 
  if bGlobal: 
    global g_map; 
   
  #fix map value   
  g_map['aaa'] = 'aaa__' + g_strVal; 
  g_map['bbb'] = 'bbb__' + g_strVal; 
  g_map['ccc'] = 'ccc__' + g_strVal; 
  g_map['ddd'] = 'ddd__' + g_strVal; 
   
def FixList(bGlobal = False): 
  if bGlobal: 
    global g_ls; 
     
  g_ls.append('1');     
   
def PrintVal(strInfo): 
  if strInfo: 
    print("==== %s =====" %strInfo); 
     
  print("int value:%d" %g_nVal); 
  print("string value:%s" %g_strVal); 
  print("map value:%s" %g_map); 
  print("list value:%s" %g_ls); 
  print("\n\n");   
 
if "__main__" == __name__: 
   
  PrintVal("The orgin vlaue"); 
   
  FixInt(); 
  FixString(); 
  FixMap(); 
  FixList(); 
   
  PrintVal("print all bGlobal = False vlaue"); 
   
  FixInt(True); 
  FixString(True); 
  FixMap(True); 
  FixList(True); 
   
  PrintVal("print all bGlobal = True vlaue");

结果:

==== The orgin vlaue =====
int value:0
string value:aaaa
map value:{'aaa''111''bbb''222''ccc''333''ddd''444'}
list value:['a''b''c']

g_nVal src:0
g_nVal dst:1
==== print all bGlobal = False value =====
int value:1
string value:aaaab
map value:{'aaa''aaa__aaaab''bbb''bbb__aaaab''ccc''ccc__aaaab''ddd''ddd__aaaab'}
list value:['a''b''c''1']

g_nVal src:1
g_nVal dst:2
==== print all bGlobal = True value =====
int value:2
string value:aaaabb
map value:{'aaa''aaa__aaaabb''bbb''bbb__aaaabb''ccc''ccc__aaaabb''ddd''ddd__aaaabb'}
list value:['a''b''c''1''1']

关于python global如何创建及修改就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×