Python中文
首页
教程
问答
标签
搜索
登录
注册
获取实例变量名的列表
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想得到一个类的所有实例变量的列表,而不需要创建该类的实例。我觉得这在Python中是不可能的。在</p> <p>假设我有这样的课程:</p> <pre><code>class Person(object): def __init__(self, fullname, age): self.firstname, self.lastname = fullname.split(' ') self.age = age </code></pre> <p>我想从这个列表中得到<code>['lastname', 'age', 'firstname']</code>。在</p> <p>我能够得到这个结果的唯一方法是使用<code>Person</code>的临时实例:</p> ^{pr2}$ <p>这里的问题是,由于调用了<code>fullname.split()</code>,如果我试图用<code>Person(None, None)</code>创建一个空实例,则会引发一个错误。我不允许改变<code>__init__</code>来允许这样做。在</p> <p>我的第一个想法是使用<code>vars(Person).keys()</code>,但是这给出了<code>Person</code>类型的所有属性,而不是{<cd2>}的实例所具有的属性:</p> <pre><code>print vars(Person).keys() # ['__module__', '__dict__', '__weakref__', '__doc__', '__init__'] </code></pre> <p>有没有办法在不修改类的情况下,不使用<code>temp</code>来完成这项工作?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>Python在执行<code>__init__</code>方法之前不知道将定义什么属性。为了执行该方法,必须创建类的实例。哦,好吧:(</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在Excel中读取公式并将其转换为Python中的计算?
7 回答
如何在excel中读取嵌入的excel,并将嵌入文件中的信息存储在主excel文件中?
3 回答
如何在Excel中返回未知列长度的非空顶行列值?
9 回答
如何在excel中选择数据列?
6 回答
如何在Excel中通过脚本自动为一列中的所有单元格创建公共别名
10 回答
如何在excel中高效格式化范围AttributeError:“tuple”对象没有属性“fill”
3 回答
如何在excel单元格中编写python函数
4 回答
如何在excel单元格中自动执行此python代码?
7 回答
如何在excel工作表中创建具有相应值的新列
7 回答
如何在Excel工作表中复制条件为单元格颜色的python数据框?
10 回答
如何在Excel工作表中循环
8 回答
如何在excel工作表中打印嵌套词典?
1 回答
如何在excel工作表中绘制所有类的继承树?
7 回答
如何在Excel工作表中自动调整列宽?
2 回答
如何在excel工作表中追加并进一步处理
10 回答
如何在excel工作表之间进行更改?
3 回答
如何在excel或csv上获取selenium数据?
4 回答
如何在Excel或Python中将正确的值赋给正确的列
5 回答
如何在excel或python中提取单词周围的文本?
8 回答
如何在excel或python中转换来自Jira的3w 1d 4h的fromat数据?
5 回答