Python中文
首页
教程
问答
标签
搜索
登录
注册
使用一个变量来命名另一个variab
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设我有一个dogs字典,其中key是dog的名称,value是一个类dog的实例。你知道吗</p> <pre><code>my_dogs = {'Ollie': Dog(...), 'Lassie': Dog(...)} </code></pre> <p>如果我想认识我的狗,我可以用钥匙接近它们</p> <pre><code>my_dogs['Ollie'] </code></pre> <p>我想把这个结构作为一个类,比如</p> <pre><code>class MyDogs(): def __init__(self): self.ollie = Dog() self.lassie = Dog() </code></pre> <p>所以我可以像这样接近我的狗:</p> <pre><code>my_dogs = MyDogs() my_dogs.lassie </code></pre> <p>使用字典,我可以为我的狗创建任何名字,只需将键设置为它的名字,但是在类中变量是硬编码的,这是我不想要的。你知道吗</p> <p>问题:我可以定义一个名称存储在另一个变量中的变量吗?比如:</p> <pre><code>class MyDogs(): def __init__(self, dog_names): self.eval(dog_names[0]) = Dog() self.eval(dog_names[1]) = Dog() </code></pre> <p>这样MyDogs将有两个实例,它们以作为参数传递的dog\u名称命名。你知道吗</p> <p>这可能吗?这是一个好的做法还是我应该有不同的结构?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你可以用<code>setattr</code>来做这个</p> <pre class="lang-py prettyprint-override"><code>class MyDogs(): def __init__(self, dog_names): for dog_name in dog_names: setattr(self, dog_name, Dog()) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
7 回答
如何添加表示整数的擦边字符串?
2 回答
如何添加要在Bokeh中使用的新font.ttf文件?
7 回答
如何添加要显示的矩阵XY轴编号和XY轴
9 回答
如何添加计数?
1 回答
如何添加计数器函数?
2 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
9 回答
如何添加计数器来跟踪while循环中的月份和年份?
9 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
5 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
3 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
4 回答
如何添加评论拉梅尔亚姆
4 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
2 回答
如何添加谷歌地点自动完成到Flask?
5 回答
如何添加超时、python discord bot
3 回答
如何添加超过1dp的检查
9 回答
如何添加距离方法
3 回答
如何添加跟随游戏的敌人精灵
1 回答
如何添加路径以便python可以找到程序?
9 回答
如何添加身份验证/安全性以使用happybase访问HBase?
7 回答