相关疑难解决方法(0)

如何知道对象在Python中是否具有属性

有没有办法在Python中确定对象是否具有某些属性?例如:

>>> a = SomeClass()
>>> a.someProperty = value
>>> a.property
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'property'
Run Code Online (Sandbox Code Playgroud)

在使用之前如何判断是否a具有该属性property

python attributes

1491
推荐指数
13
解决办法
78万
查看次数

如果在Python中没有返回默认值,是否有简写?

在C#中,我可以说x ?? "",如果x不为null,它将给出x,如果x为null,则为空字符串.我发现它对于使用数据库很有用.

如果Python在变量中找到None,有没有办法返回默认值?

python

182
推荐指数
4
解决办法
14万
查看次数

Python if-else简写

可能重复:
Python中的三元条件运算符

我想在python中执行以下操作:

while( i < someW && j < someX){
   int x = A[i] > B[j]? A[i++]:B[j++];
   ....
}
Run Code Online (Sandbox Code Playgroud)

显然,当任何一个ij达到限制时,代码将突破循环.我需要循环的值ij循环外的值.

我必须真的这样做

x=0
...
if A[i] > B[j]:
  x = A[i]
  i+=1
else:
  x = B[j]
  j+=1
Run Code Online (Sandbox Code Playgroud)

或者有人知道更短的方式吗?

除了以上所述,我可以让Python支持类似的东西

a,b=5,7
x = a > b ? 10 : 11
Run Code Online (Sandbox Code Playgroud)

python python-2.7

88
推荐指数
2
解决办法
20万
查看次数

用于检查Python属性的get()方法

如果我有一本字典dict,我想检查一下dict['key']我可以在一个try块(bleh!)中这样做,或者使用该get()方法,False作为默认值.

我想做同样的事情object.attribute.也就是说,False如果没有设置,我已经有了返回的对象,但是这给了我错误

AttributeError:'bool'对象没有属性'attribute'

python attributes

70
推荐指数
3
解决办法
4万
查看次数

"请求原谅不许可" - 解释

我不是要求对这种哲学提出个人的"宗教"观点,而是要更具技术性.

我理解这句话是几个试金石中的一个,看你的代码是否是"pythonic".但对我来说,pythonic意味着干净,简单和直观,没有加载异常处理程序以进行错误的编码.

所以,实际的例子.我定义了一个类:

class foo(object):
    bar = None

    def __init__(self):
        # a million lines of code
        self.bar = "Spike is my favorite vampire."
        # a million more lines of code
Run Code Online (Sandbox Code Playgroud)

现在,来自程序背景,在另一个函数中,我想这样做:

if foo.bar:
    # do stuff
Run Code Online (Sandbox Code Playgroud)

如果我不耐烦并且没有做初始的foo = None,我会得到一个属性异常.所以,"请求宽恕不许可"表明我应该这样做吗?

try:
    if foo.bar:
        # do stuff
except:
    # this runs because my other code was sloppy?
Run Code Online (Sandbox Code Playgroud)

为什么我在try块中添加额外的逻辑会更好,这样我可以让我的类定义更加模糊?为什么不先定义所有内容,然后明确授予权限

(不要打扰我使用try/except块......我在任何地方都使用它们.我不认为用它们来捕捉我自己的错误是正确的,因为我不是一个彻底的程序员.)

或者......我是否完全误解了"请求原谅"的口头禅?

python

58
推荐指数
7
解决办法
2万
查看次数

标签 统计

python ×5

attributes ×2

python-2.7 ×1