python符号函数实例化_已知有一个和“实例化的类的名称”相同的字符串str, 如何根据str来获取这个类的属性、使用其方法(怎么使用动态变量)...

本文探讨了在Python中如何使用动态变量,通过locals()和globals()函数实现动态变量的命名和赋值。示例代码创建了一个类A的多个实例,并通过字典存储这些实例,实现了动态变量的功能。
摘要由CSDN通过智能技术生成

自己的回答

在看了大家的回答之后我又去百度了一下,基本和@zhangliganggm说的一样。

嗯。。是我自己归纳的太罗嗦了 这个问题归纳出来应该是在Python中怎么使用动态变量。

使用locals和globals两个函数就可以了,这两个Python自带的函数已经替我们完成了使用字典来完成动态变量的工作,所以@勤奋的懒人所说的也没错,肯定是我之前尝试的时候出了错。。

一、尝试使用locals()函数来完成动态变量命名及赋值

1.测试代码

class A():

def __init__(self,name):

self.name = name

self.info = "我是" + self.name + "号实例。"

def output_info(self):

print(self.info)

names = locals()

nums = list(range(5))

for num in nums:

name = input("给实例取个名字:")

names['x%s'%num] = A(name)

# ~ name = input("给变量取个名字:")

# ~ names['x%s'%num] = num**num

for num in nums:

names['x%s'%num].output_info()

2.运行结果

579d682fa4c9f8ab578afb310410879c.png完美

二、尝试使用任意字典而不是locals()

1.测试代码

class A():

def __init__(self,name):

self.name = name

self.info = "我是" + self.name + "号实例。"

def output_info(self):

print(self.info)

names = locals()

test = {}

nums = list(range(5))

for num in nums:

name = input("给实例取个名字:")

names['x%s'%num] = A(name)

test['x%s'%num] = A(name)

# ~ name = input("给变量取个名字:")

# ~ names['x%s'%num] = num**num

for num in nums:

names['x%s'%num].output_info()

test['x%s'%num].output_info()

2.运行结果

230c22b83dce75298811488fa3ba9774.png

三、结论

1.使用任意字典即可完成动态变量的赋值和命名工作

2.我是个天才(雾

3.天才也有犯蠢的时候

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值