给予:
In [37]: class A:
....: f = 1
....:
In [38]: class B(A):
....: pass
....:
In [39]: getattr(B, 'f')
Out[39]: 1
好吧,要么叫超级还是爬mro?
In [40]: getattr(A, 'f')
Out[40]: 1
这是意料之中的。
In [41]: object.__getattribute__(A, 'f')
Out[41]: 1
In [42]: object.__getattri
我在我的类中用实现了一个只写属性。奇怪的是,hasattr在这个属性的类和相应实例上的行为不同。
from werkzeug.security import generate_password_hash, check_password_hash
from flask_login import UserMixin
class User(Base, UserMixin):
# codes omitted...
@property
def password(self):
raise AttributeError("password is a wr
我有一个文档和一个嵌入文档,我想将一个值插入到嵌入文档的ListField中。我在stackoverflow上找不到任何关于这个问题的东西,所以也许任何人都可以帮助我。 这基本上就是我的模型类: class Person(EmbeddedDocument):
oid = ObjectIdField(required=True, default=ObjectId,
unique=True, primary_key=True, sparse=True)
personName = StringField()
charakter
你能帮我解释一下为什么我总是犯这个错误吗?AttributeError:'str‘对象没有属性'server’
@commands.has_role("customer")
async def email(ctx,count=None,bomb_email=None,*,message=None):
if message.server is not None:
await ctx.send("nope")
else:
x = int(count)
if message.server is n
例如,下面的代码是Python:
a = object()
a.b = 3
抛出AttributeError: 'object' object has no attribute 'b'
但是,下面这段代码:
class c(object): pass
a = c()
a.b = 3
挺好的。为什么我可以赋值属性b,而类x没有该属性?如何让我的类只定义属性?
关于运行以下代码的行为,我有两个问题。为什么在没有实例化对象的情况下调用__new__?我认为__new__控制了一个新实例的创建。接下来,为什么当AttributeError返回True的大小时,hasattr会引发
class ShapeBase(type):
def __new__(cls, name, bases, attrs):
rv = super(ShapeBase, cls).__new__(cls, name, bases, attrs)
parents = [base for base in bases if isinstance(base, Shap
问题
使用mock.patch和autospec=True对类进行修补并不能保留该类实例的属性。
The Details
我正在尝试测试一个类Bar,它将类Foo的实例实例化为名为foo的Bar对象属性。正在测试的Bar方法称为bar;它调用属于Bar的Foo实例的方法foo。在测试时,我是在模仿Foo,因为我只想测试Bar是否访问了正确的Foo成员:
import unittest
from mock import patch
class Foo(object):
def __init__(self):
self.foo = 'foo'
class
文档中提到了__dict__
object.__dict__
用于存储对象的(可写)属性的字典或其他映射对象。
所以我的问题是,如何确定对象是否是可写对象,以及可写对象和可变对象之间有什么区别。
以下是代码
num = 1
num.__dict__
AttributeError: int object has no attribute __dict__
class MyClass(object):
pass
myclass = MyClass()
myclass.__dict__
{}
为什么不能删除继承对象的属性?
class A(object):
def delete(self):
pass
def dont_delete(self):
pass
class B(A):
pass
del A.delete
del B.dont_delete
AttributeError: dont_delete
我是Python的新手,我知道我肯定错过了一些非常简单的东西,但是为什么这个非常非常简单的代码不能工作呢?
class myClass:
pass
testObject = myClass
print testObject.__class__
我得到以下错误:
AttributeError: class myClass has no attribute '__class__'
Python中的每个对象不都有__class__属性吗?
我有一个简短的问题,我很好奇,如果我能为某些AttributeError设置例外,我找不到任何答案。
例如,我有这样的错误:
AttributeError: 'product.product' object has no attribute 'order_line'
我想只为这一个AttributeError设置异常,所以如果发生另一个AttributeError,我会看到错误消息。
我试过这样做:
except AttributeError == 'product.product' object has no attribute 'or
在Python (2和3)中,我们可以为函数分配属性:
>>> class A(object):
... def foo(self):
... """ This is obviously just an example """
... return "FOO{}!!".format(self.foo.bar)
... foo.bar = 123
...
>>> a = A()
>>> a.foo()
'FOO123!!
我只想从一个单元格(excel)中获取数字。我尝试了以下几种方法:
uzemelteto = first_sheet.cell(17, 11)
res = [int(i) for i in uzemelteto.split() if i.isdigit()]
print res
但是它给出了一个错误,比如: AttributeError:'Cell‘对象没有'split’属性
我如何修改它,使其只能获取数字?
在下面的代码中,类B继承了类A的yay属性,这是我所期望的。我也期望内部类B.Foo以同样的方式工作,但事实并非如此。
如何让B.Foo继承A类的alice属性?我需要B中的内部子类Foo同时具有alice和bob属性。
谢谢。
>>> class A:
... yay = True
... class Foo:
... alice = True
...
>>> class B(A):
... nay = False
... class Foo:
... bob = False