python global的创建和修改实例讲解

 更新时间:2021年09月13日 08:20:13   作者:小妮浅浅  
在本篇文章里小编给大家整理了一篇关于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的创建和修改实例讲解的文章就介绍到这了,更多相关python global的创建和修改内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 分享一个可以生成各种进制格式IP的小工具实例代码

    分享一个可以生成各种进制格式IP的小工具实例代码

    这篇文章主要给大家分享了一个可以生成各种进制格式IP的小工具,利用的语言是python实现的一个小工具,这个小工具对大家的日常使用与开发具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-07-07
  • Python打包为exe详细教程

    Python打包为exe详细教程

    今天给大家介绍如何用Python打包exe,文中有非常详细的教程,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Python中的进制转换详解

    Python中的进制转换详解

    这篇文章主要介绍了Python中的进制转换详解,python内置函数进行进制转换的原理是将读入的一个字符串(python默认读入的都是字符串形式)转为10进制,然后再用相关函数进行其他进制转换,需要的朋友可以参考下
    2023-08-08
  • python刷投票的脚本实现代码

    python刷投票的脚本实现代码

    这篇文章主要介绍了写了个python刷投票的脚本,需要的朋友可以参考下
    2014-11-11
  • Python简单网络编程示例【客户端与服务端】

    Python简单网络编程示例【客户端与服务端】

    这篇文章主要介绍了Python简单网络编程,详细介绍了客户端与服务端的具体实现技巧与相关注意事项,需要的朋友可以参考下
    2017-05-05
  • python报错unexpected indent的解决办法

    python报错unexpected indent的解决办法

    这篇文章主要给大家介绍了关于python报错unexpected indent的解决办法,在python中出现"Unexpected indent"可能是代码的缩进出现问题,需要的朋友可以参考下
    2023-06-06
  • python中通过预先编译正则表达式提高效率

    python中通过预先编译正则表达式提高效率

    Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情,再加上正则表达式就更能体现其效果,下面这篇文章主要给大家介绍了关于python中通过预先编译正则表达式提高效率的相关资料,需要的朋友可以参考下。
    2017-09-09
  • 教你用Python实现简易版学生信息管理系统(含源码)

    教你用Python实现简易版学生信息管理系统(含源码)

    学生管理信息系统主要用来日常查询学生信息,以及及时更新数据和修改数据.用python实现简单学生管理信息系统不仅可以满足以上要求,也可以巩固之前学习的基础,需要的朋友可以参考下
    2021-06-06
  • pytorch对梯度进行可视化进行梯度检查教程

    pytorch对梯度进行可视化进行梯度检查教程

    今天小编就为大家分享一篇pytorch对梯度进行可视化进行梯度检查教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 健身房被搭讪?用python写了个小米计时器助人为乐

    健身房被搭讪?用python写了个小米计时器助人为乐

    今天教大家Python图形界面开发的相关知识,文章围绕着如何实现一个小米手机上的秒表计时器功能展开,文中有非常详细的代码示例,需要的朋友可以参考下
    2021-06-06

最新评论