Python动态地声明变量赋值

通过exec()、globals()和locals()

# 通过exec()
for i in range(1, 4):
    # 第一次循环 i=1 时,会执行字符串中的python语句 ex1 = "exec1",以此类推
    exec(f'ex{i} = "exec{i}"')

# 通过globals()和locals()
def test():
    # globals()
    for i in range(1, 4):
        # 第一次循环 i=1 时,执行 globals()['gb1'] = 'global1', globals()是一个dict
        globals()[f'gb{i}'] = f'global{i}'

    # locals()
    for i in range(1, 4):
        locals()[f'lc{i}'] = f'local{i}'

    # 尝试打印locals的变量
    try:
        print(lc1, lc2, lc3)    # 会报错
    except Exception as e:
        print(e)
        print(locals()['lc1'], locals()['lc2'], locals()['lc3'])    # 通过键值对

if __name__ == '__main__':
    # 执行
    test()
    print('---------------------')
    # 打印函数定义的全局变量
    print(gb1, gb2, gb3)
    print('---------------------')
    # 打印通过exec()定义的变量
    print(ex1, ex2, ex3)

输出结果:

name 'lc1' is not defined
local1 local2 local3
---------------------
global1 global2 global3
---------------------
exec1 exec2 exec3

原文地址:https://www.cnblogs.com/milesma/p/12076244.html

时间: 2024-10-06 21:36:04

Python动态地声明变量赋值的相关文章

(转)[SQL Server] 动态sql给变量赋值(或返回值给变量)

本文转载自:http://blog.csdn.net/xiaoxu0123/article/details/5684680 [SQL Server] 动态sql给变量赋值(或返回值给变量) declare @i_counts int, @i_times int; set @str_sql = 'select @tmp_counts = counts, @tmp_times=times ' + ' from ' +@str_dbname+ '.dbo.t_msisdn with(nolock) '

python条件语句和变量赋值

python的条件语句 字符串内变量赋值的方法 name = input("name:") age = int(input("age:")) job = input("job:") salary = input("salary:") info = ''' ---------- info of %s ---------- Name:%s Age:%d Job:%s Salary:%s ''' % (name,name,age,j

Python给多个变量赋值

# Assign values directly a, b = 0, 1 assert a == 0 assert b == 1 # Assign values from a list (r,g,b) = ["Red","Green","Blue"] assert r == "Red" assert g == "Green" assert b == "Blue" # Assign val

python 根据字符串动态的生成变量名并且赋值

Python 动态的创建变量 一.子符串的形式 这是在今天的一个项目中,发现需要动态的创建很多变量.每个变量对应的值的来源都相同.在网上看了些资料,研究出了这个动态创建变量的牛逼方法. 所用的方法就是:#exec 会把字符串两边的引号去掉 info_dict = {'create_time':'ct','user_id':'uid', 'cookie_id':'ci', 'product_name':'pn', 'product_version':'pv', 'device':'di'} for

Python 2 声明变量 输入输出 + 练习

变量: 代指,用于将具体信息对应到一个值,便于反复使用时方便调用.例如  name = ("斯诺登")   变量声明规则:以字母开头的 字母数字下划线的组合.且不能是python代码已经被定义了的关键字 例如 print  if  while等等.   人为规则:变量名应该可读性高,便于理解,具有代表性.例如  name_me  name_your. 变量的声明逻辑:  例:name = ("ABC")     name是变量名   ABC是值.  name1 =

Robot Framework--07 变量的声明、赋值及其使用

转自:http://blog.csdn.net/tulituqi/article/details/7984642 一.变量的声明 1.变量标识符 每个变量都可以用  变量标识符{变量名}    来进行表示,变量标识符在之前用户关键字的地方介绍了一下,Scalar变量用 $ 作为标识符,List型变量用 @ 作为标识符,不过这只能作为一个初步的区分,因为同样在之前的文章里,大家应该也看到了,使用$ 的变量,实际上也可以在接收List值后转化成List变量.转化的内容会在List变量里介绍. 2.变

oracle 存储过程 变量的声明和赋值的3种方式

oracle 存储过程 变量的声明和赋值的3种方式 CreationTime--2018年8月31日16点00分 Author:Marydon 1.声明变量的3种方式 按照数据类型的声明方式进行区分 方式一:直接声明数据类型 格式:变量名 数据类型(大小) V_START_DATE VARCHAR2(19); v_num number; 说明: 设置为字符串类型时,需要指定大小,否则报错: 变量的声明必须在"begin"关键字之前进行. --错误用法 BEGIN v_sql varch

python 变量赋值

Python 中的变量赋值不需要类型声明. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 等号(=)用来给变量赋值. 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值.例如: counter = 100  # 赋值整型变量 miles = 1000.0  # 浮点型 name = "John"  # 字符串 print (counter) print (miles) print (nam

Python 变量类型及变量赋值

在 Python 中,变量不一定占用内存变量.变量就像是对某一处内存的引用,可以通过变量访问到其所指向的内存中的值,并且可以让变量指向其他的内存.在 Python 中,变量不需要声明,但是使用变量之前,一定要先对变量进行赋值.当创建了一个新对象时,Python 会向操作系统请求内存,Python 本身实现了内存分配系统.变量类型指的是变量所指向的内存中 对象 的类型.Python 中变量赋值使用 = 等号,等号左面为创建的变量,等号右面为需要的值. # #创建一个变量名为 a 的变量 # a =