Python中文
首页
教程
问答
标签
搜索
登录
注册
python类属性不在if条件中求值
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个python类如下</p> <pre><code>class Application(models.Model): name = models.CharField(help_text="Application's name",max_length=200) current_status = models.IntegerField(null=True, blank=True) class Meta: ordering = ["name"] @property def status(self): """Returns the current ApplicationStatus object of this Application.""" try: return ApplicationStatus.objects.get(id = self.current_status) except ApplicationStatus.DoesNotExist as e: print e return None </code></pre> <p>在另一个类中,我检查属性状态,如下所示</p> ^{pr2}$ <p>虽然我确定应用程序的状态不是None,但是else print语句打印None,当我尝试访问状态时app.status.id应用程序状态,应用程序抛出异常<code>NoneType has no property id</code>。在</p> <p>当我把条件改为:</p> ^{3}$ <p>它工作得很好。在</p> <p>有人能告诉我为什么python属性没有在print语句中求值吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你这么说的应用程序状态通过了第一个if条件(所以不是None),但是当您打印它时,它不会打印任何。。。在</p> <p>很清楚,第一次应用程序状态返回与“无”不同的值,第二次更改时返回应用程序状态(每次都对其求值)返回None</p> <p>实际上,如果存储应用程序状态在另一个var中(因此它没有被修改),它工作得很好。。。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何根据与其他行比较的列表筛选序列?
7 回答
如何根据与前一行的差异对行进行分组?
2 回答
如何根据与另一个图像匹配的图像特征来变换图像?
10 回答
如何根据与另一个模型的关系在模板视图中查询另一个Django模型
8 回答
如何根据与已知参考轨迹的距离过滤出位置数据?
8 回答
如何根据与现有值比较的下限和上限创建新的pandas系列
6 回答
如何根据与输入字符串共享的特征从数据集中获取值
8 回答
如何根据与长生不老药的多对多关系排序?
2 回答
如何根据世代显示,x'攻击'和y'防御'
4 回答
如何根据两个CSV文件中的公共信息用Python合并两个CSV文件?
9 回答
如何根据两个CSV文件的相似性比较它们的行?
2 回答
如何根据两个不同列的值在一列中填充NaN
1 回答
如何根据两个不同列的日期获取交叉联接表的唯一记录?
9 回答
如何根据两个不同列表中的相应值创建if语句?
3 回答
如何根据两个不同栏目的分数组成三个不同的班级,有人能指导我吗,请参考我的代码
9 回答
如何根据两个不同的字符串检查变量?9行examp
3 回答
如何根据两个值对词典进行分组?
3 回答
如何根据两个列表获得自定义元组的计数
3 回答
如何根据两个变量的条件打印特定输出
4 回答
如何根据两个变量重新采样以均匀地派生类?
9 回答