首页 > 编程语言 >python中globals()的用法

python中globals()的用法

时间:2023-07-02 15:23:50浏览次数:38  
标签:__ None python 用法 orange globals print banana

python中globals()的用法

 

1. 获取所有的全局变量, 获取到的内容如下:

{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7efc4bd1d960>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home//WorkSpace/tmp/try_globals.py', '__cached__': None, 'a': 10, 'f': <function f at 0x7efc4d0abd90>}

 

相应有`locals()`变量可以用来获取局部变量.

 

2. 用于概据变量名的内容来生成新的变量.

比如, 用字符串a的内容, 来生成一个新变量并赋值. 算是比较tick的用法, 感觉上比用eval生成变量名安全一点??? 

a = 'apple'
b = 'banana'
c = 'orange'

globals()[a]=1
globals()[b]=2
globals()[c]=3

print(globals())

输出内空:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f8dcf121960>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/ckboss/WorkSpace/tmp/try_globals.py', '__cached__': None, 'a': 'apple', 'b': 'banana', 'c': 'orange', 'apple': 1, 'banana': 2, 'orange': 3}

没有显示定义, 但下面三个变量已经生成好了.
print(apple)
print(banana)
print(orange)

  

标签:__,None,python,用法,orange,globals,print,banana
From: https://www.cnblogs.com/JiangOil/p/17520829.html

相关文章

  • Python入门
    一、逻辑运算符的一些记录#非布尔值的与或运算#当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值#与运算的规则#与运算是找False的,如果第一个值是False,则不看第二个值#如果第一个值是False,则直接返回第一个值,否则返回第二个值#或......
  • PL/SQL表---table()函数用法
     PL/SQL表---table()函数用法:利用table()函数,我们可以将PL/SQL返回的结果集代替table。simpleexample:1、table()结合数组:*/createorreplacetypet_testasobject(idinteger,rqdate,mcvarchar2(60));createorreplacetypet_test_tableastableo......
  • Python - 编写Unicode 字符串
    Python的字符串字面量支持"\xNN"十六进制字节值转义以及"\uNNNN"和"\UNNNNNNNN"Unicode转义。第一种形式用4位十六进制数编码2字节(16位)位字符码点第二种形式用8位十六进制数编码4字节(32位)码点。十六进制值0xCD和0xE8,是ASCII的7位字符范围之外的两个特殊的声调字符......
  • Python 满足列中任意两个数之和等于目标值,输出这两个数的值和所在列表的索引值
    给定一个列表为nums=[2,7,11,15],目标值target=9,找出列表中任意2数之和等于9的元素以及所在位置思路:双重遍历去一对一的比较判断1nums=[2,7,11,15,1,8,2]2target=93list_new=[]4deffind_num_indx():56foriinrange(len(nums)):......
  • python 字典key单引号变双引号
    背景:str1="{'a':1,'b':2,'c':3}"把字典格式的字符串str1转成字典importjsons_dic=json.loads(str1)报错信息:json.decoder.JSONDecodeError:Expectingpropertynameenclosedindoublequotes:line1column2(char1) 解决思路:方法一:(不建......
  • Python 找出一个字符串出现3次的元素
    方式一:利用字典中key唯一来判断存在时,计数统计给value,不存在时,赋值value为1A='aabbcccdddd'B={}foriinA:ifiinB:#直接判断key在不在字典中B[i]+=1else:B[i]=1print(B)print(B) 方式二:用count去统计......
  • Python 使用 NetworkX
    Python使用NetworkX说明:本篇文章主要讲述python使用networkx绘制有向图;1.介绍&安装NetworkX是一个用于创建、操作和研究复杂网络的Python库。它提供了丰富的功能,可以帮助你创建、分析和可视化各种类型的网络,例如社交网络、Web图、生物网络等。NetworkX可以用来创建......
  • python: objct property
     """clerker.py类edit:geovindu,GeovinDudate:20230672IDE:PyCharm2023.1.2clerker.__dict__窥探私有属性私用属性clerker._Clerker.__age=-1clerker.__age=-1"""importsysimportosclassClerker(object):"""......
  • LeetCode-Python-#27 移除元素
    题目描述给定一个数列nums和数值val,消除数列nums中与数值 val相同的元素,最终返回新数列的长度;要求:不能开辟空间分配新的数列,必须改变原输入nums数列;并对修改后的nums数列的元素顺序没有要求,可以被修改。Examplesnums=[3,2,2,3; val=3 则返回长度为2;nums=[0,1,2,2,3,0,4,2]......
  • update-alternatives 的基本用法
    update-alternatives是Ubuntu的软件多版本管理工具,基本用法为,update-alternatives--install<link><name><path><priority>[--force]例如,我要创建一个符号链接/usr/bin/cmake,它指向实际安装路径/usr/local/bin/cmake,则可以使用如下命令,sudoupdate-alternatives......