小编Hra*_*bal的帖子

如何计算列表中"无"的出现次数?

我试图计算那些不是的东西None,但是我想要False和数字零也被接受.反转逻辑:除了明确声明的内容外,我想计算所有内容None.

只是第5个元素,它不包含在计数中:

>>> list = ['hey', 'what', 0, False, None, 14]
>>> print(magic_count(list))
5
Run Code Online (Sandbox Code Playgroud)

我知道这不是Python的正常行为,但我怎样才能覆盖Python的行为?

我试过的

到目前为止,我建立的人建议a if a is not None else "too bad",但它不起作用.

我也试过了isinstance,但没有运气.

python boolean list-comprehension nonetype

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

Python类属性和子类

我用谷歌搜索并播放了一段时间,但没有结果试图做这样的事情:

class  A(object):
    cl_att = 'I am an A class attribute'

class  B(A):
    cl_att += ' modified for B type'

class  C(A):
    cl_att += ' modified for C type'


instA = A()
print insAt.cl_att
>>> I am an A class attribute

instB = B()
print instB.cl_att
>>> I am an A class attribute modified for B type

instC = C()
print instC.cl_att
>>> I am an A class attribute modified for C type

print instA.cl_att
>>> I am an A …
Run Code Online (Sandbox Code Playgroud)

python class subclassing

2
推荐指数
1
解决办法
76
查看次数

Python的"类是一个字典"理论和添加类变量的后果

出于好奇,我正在使用__dict__Python类的属性.

我在某处读到python中的"类"是一种字典,并且调用__dict__类实例将实例转换为字典......我认为"很酷!我可以使用它!"

但这让我怀疑这些行为的正确性和安全性.

例如,如果我这样做:

class fooclass(object):
    def __init__(self, arg):
        self.arg1 = arg

p = fooclass('value1')
print(p.__dict__)
p.__dict__['arg2'] = 'value2'
print(p.__dict__)
print(p.arg2)
Run Code Online (Sandbox Code Playgroud)

我有这个:

>>>{'arg1': 'value1'}
>>>{'arg1': 'value1', 'arg2': 'value2'}
>>>value2
Run Code Online (Sandbox Code Playgroud)

那没关系,但是:

  1. 是否fooclass还有1个属性?我怎么能确定?
  2. 以这种方式添加属性是否安全?
  3. 你曾经有过这个派上用场的案例吗?
  4. 我看到我不能这样做fooclass.__dict__['arg2'] = 'value2'...为什么一个类和一个实例之间存在这种差异?

python dictionary class

-2
推荐指数
1
解决办法
84
查看次数