找回密码
 骑士注册

QQ登录

微博登录


查看: 122|回复: 3
收起左侧

[求助] Python用列表里的字符串元素作为对象名来创建对象

[复制链接]
Stillmind 发表于 2017-02-17 09:44:13 | 显示全部楼层 |阅读模式
本帖最后由 Stillmind 于 2017-2-17 11:18 编辑

在用Python写一个小玩意儿,遇到一个问题:我想用列表里的字符串元素作为对象名来创建对象,想是这么想了,但代码总运行不了

下面这段代码不能运行,但能表明我的意思,请大牛指点一下,我的思路是否有问题

class P:
   def __init__(self,name):
      self.name = name
      print 'my name is %s'%self.name
   a = 10
   def B():
      print 'I\'m %s,a = %d'%(self.name,a)

#将使用列表c中的元素来创建对象
c = ['aaa','bbb','ccc']

#对象生成器,创建对象
def Maker():
   for i in c:
      s  = '%s.P(\'%s\')'%(i,i)
      exec(s)
Maker()

#调用对象方法
for i in c:
   s = '%s.B()'%i
   exec(s)

 楼主| Stillmind 发表于 2017-02-17 09:46:31 | 显示全部楼层
我纠结了好久了,请大家帮帮我!谢谢了!

 楼主| Stillmind 发表于 2017-02-17 09:49:01 | 显示全部楼层
请大家帮帮我!

 楼主| Stillmind 发表于 2017-02-17 09:49:30 | 显示全部楼层
请大家帮帮我!

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

快速回复 返回顶部 返回列表

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。