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的创建和修改内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3用urllib抓取贴吧邮箱和QQ实例

    python3用urllib抓取贴吧邮箱和QQ实例

    在本篇文章里小编给大家整理了关于python3中运用urllib抓取贴吧的邮箱以及QQ的实例内容,需要的朋友们可以学习下。
    2020-03-03
  • Python数据处理利器Slice函数用法详解

    Python数据处理利器Slice函数用法详解

    这篇文章主要给大家介绍了关于Python数据处理利器Slice函数用法的相关资料,slice函数是Python中的一个内置函数,用于对序列进行切片操作,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • pytorch 运行一段时间后出现GPU OOM的问题

    pytorch 运行一段时间后出现GPU OOM的问题

    这篇文章主要介绍了pytorch 运行一段时间后出现GPU OOM的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • sklearn中make_blobs的用法详情

    sklearn中make_blobs的用法详情

    这篇文章主要介绍了sklearn中make_blobs的用法详情,sklearn中的make_blobs函数主要是为了生成数据集的,下面文章的学习内容,需要的小伙伴可以参考一下
    2022-01-01
  • Python接口自动化浅析logging日志原理及模块操作流程

    Python接口自动化浅析logging日志原理及模块操作流程

    这篇文章主要为大家介绍了Python接口自动化系列文章浅析logging日志原理及模块操作流程,文中详细说明了为什么需要日志?日志是什么?以及日志用途等基本的原理
    2021-08-08
  • 彻底解决Python包下载慢问题

    彻底解决Python包下载慢问题

    这篇文章主要介绍了彻底解决Python包下载慢问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python访问PostgreSQL数据库详细操作

    Python访问PostgreSQL数据库详细操作

    postgresql是常用的关系型数据库,并且postgresql目前还保持着全部开源的状态,这篇文章主要给大家介绍了关于Python访问PostgreSQL数据库的相关资料,需要的朋友可以参考下
    2023-11-11
  • 基于TensorFlow的CNN实现Mnist手写数字识别

    基于TensorFlow的CNN实现Mnist手写数字识别

    这篇文章主要为大家详细介绍了基于TensorFlow的CNN实现Mnist手写数字识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Python 搭建Web站点之Web服务器网关接口

    Python 搭建Web站点之Web服务器网关接口

    本文是Python 搭建Web站点系列文章的第二篇,接上文,主要给大家来讲述Web服务器网关接口WSGI的相关资料,非常详细,有需要的小伙伴可以参考下
    2016-11-11
  • python rsync服务器之间文件夹同步脚本

    python rsync服务器之间文件夹同步脚本

    这篇文章主要为大家详细介绍了python rsync服务器之间文件夹同步脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08

最新评论