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>我认为两次执行代码的原因是一样的:</p> <p>试试这个测试:</p> <pre><code>print app.status print app.status </code></pre> <p>第一次打印不是“无”,而是第二次“是”: 您必须查看两个调用之间的应用程序对象发生了什么变化(是否有信号等…) 尝试打印自身当前状态在status函数中。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何根据与其他行比较的列表筛选序列?
4 回答
如何根据与前一行的差异对行进行分组?
8 回答
如何根据与另一个图像匹配的图像特征来变换图像?
7 回答
如何根据与另一个模型的关系在模板视图中查询另一个Django模型
7 回答
如何根据与已知参考轨迹的距离过滤出位置数据?
10 回答
如何根据与现有值比较的下限和上限创建新的pandas系列
10 回答
如何根据与输入字符串共享的特征从数据集中获取值
10 回答
如何根据与长生不老药的多对多关系排序?
3 回答
如何根据世代显示,x'攻击'和y'防御'
2 回答
如何根据两个CSV文件中的公共信息用Python合并两个CSV文件?
3 回答
如何根据两个CSV文件的相似性比较它们的行?
10 回答
如何根据两个不同列的值在一列中填充NaN
4 回答
如何根据两个不同列的日期获取交叉联接表的唯一记录?
8 回答
如何根据两个不同列表中的相应值创建if语句?
3 回答
如何根据两个不同栏目的分数组成三个不同的班级,有人能指导我吗,请参考我的代码
4 回答
如何根据两个不同的字符串检查变量?9行examp
4 回答
如何根据两个值对词典进行分组?
6 回答
如何根据两个列表获得自定义元组的计数
2 回答
如何根据两个变量的条件打印特定输出
9 回答
如何根据两个变量重新采样以均匀地派生类?
6 回答