class A(object):
def __get(self):
pass
def _m(self):
return self.__get()
class B(A):
def _m(self):
return str(self.__get())
print(A()._m())
print(B()._m())
Run Code Online (Sandbox Code Playgroud)
为什么print(A()._m())打印None,但print(B()._m())加注AttributeError: 'B' object has no attribute '_B__get'?
我认为双下划线可以防止方法覆盖.
UPDATE
你写的__get是私人的.
那为什么以下工作呢?
class A(object):
def __get(self):
pass
def _m(self):
return self.__get()
class B(A):
pass
print(A()._m())
print(B()._m())
Run Code Online (Sandbox Code Playgroud)
为什么这段代码不会引发AttributeError和打印None两次?
当我尝试在Windows上运行pytest时,这就是我得到的.
有任何想法吗?
在谷歌找不到任何东西.
也许,这是一个32/64位或缺少包的问题?
真的第一次看到这个错误,似乎ctypes有问题.
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\Scripts\py.test.exe\__main__.py", line 9, in <module>
File "C:\Python27\lib\site-packages\_pytest\config.py", line 47, in main
config = _prepareconfig(args, plugins)
File "C:\Python27\lib\site-packages\_pytest\config.py", line 132, in _preparec
onfig
pluginmanager=pluginmanager, args=args)
File "C:\Python27\lib\site-packages\_pytest\vendored_packages\pluggy.py", line
724, in __call__
return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
File "C:\Python27\lib\site-packages\_pytest\vendored_packages\pluggy.py", line
338, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "C:\Python27\lib\site-packages\_pytest\vendored_packages\pluggy.py", line
333, in <lambda>
_MultiCall(methods, kwargs, …Run Code Online (Sandbox Code Playgroud) class Sentence(Model):
name = CharField()
class Tokens(Model):
token = CharField()
sentence = ForeignKey(Sentence, related_name='tokens')
Run Code Online (Sandbox Code Playgroud)
我想实现两个案例:句子完全由三个令牌组成['I', 'like', 'apples'].所以列表sentence.tokens.all()
是完全正确的['I', 'like', 'apples'].
与上面相同,但包含令牌(句子的一部分).
Sentence.objects.annotate(n=Count('tokens',distinct=True)).filter(n=3).filter(tokens__name='I').filter(tokens__name='like').filter(tokens__name='apples')不起作用,因为它也匹配I I I.
有没有办法过滤ForeignKey中的确切值集?
我有两个目录.static包含javascript和css文件.在我写的设置中STATIC_URL = '/static/',它们被正确包含在内.
但我也有文件夹图像,有很多图像.我的问题如何使文件夹图像也静态,因为我无法复制到静态.
谢谢.
我有两个问题。
如何让可选角色变得贪婪?我正在尝试编写自定义解析器,并希望函数参数位于括号中。例如sin x成为sin(x)和cosh^2 x成为cosh^2(x)。我的正则表达式:
input = 'sinh x'
output=re.sub(r'(sin|cos|tan|cot|sec|csc)(h?)\s*(|\^\s*[\(]?\s*\-?\s*\d+\s*[\)]?\s*)?([a-z0-9]+)',r'\1\2\3(\4)', input)
Run Code Online (Sandbox Code Playgroud)
这很好用。但是当我输入sinh(x)
(已经格式良好的表达式)时,它输出sin(h)(x). 如果 \4 中没有匹配项,我需要使 (h?) 贪婪或失败。怎么做?请注意,我不能写([a-gi-z0-9]),因为它sinh(h)是有效的。
(h?)和之间有什么区别吗([h]?)?
class Topping(models.Model):
name = models.CharField(max_length=30)
class Pizza(models.Model):
name = models.CharField(max_length=50)
toppings = models.ManyToManyField(Topping)
Run Code Online (Sandbox Code Playgroud)
是否有可能选择配有他们的浇头的比萨饼,但只有那些有一定数量浇头的比萨饼,比如0,1,2?
我使用此代码如何在用户文本选择旁边定位元素?获取所选文本的位置,但它不适用于输入中的选定文本.有时位置为0.
是否有一些检测所选文本位置的通用方法?
我想在mouseup上显示工具提示或dblclick选定的文本.
class A:
pass
class B(A):
pass
Run Code Online (Sandbox Code Playgroud)
如何在不引用的情况下检查它var是 的实例B,而不是. 我有大约 50 个类,它们是某些类的子类。我想检查实例是否是一个孩子。就像是。AAnot isinstance(var, A)
有什么办法吗?
我正在建立词汇表,并具有以下模型:
class Word(Model):
name = CharField(max_length=75)
class EnNoun(Model):
word = OneToOneField(Word)
class FrNoun(Model):
word = ForeignKey(Word)
gender = CharField()
Run Code Online (Sandbox Code Playgroud)
EnNoun和中可以有相同的单词FrNoun。是否可以使用最少数量的查询(和语言和词性类似的类更多,例如)来为EnNoun和两者获取给定单词的结果?FrNounItAdverb
如何存储从一种语言到另一种语言的翻译(查询20个以上的表不是一种选择)。
是GenericForeign什么用途的钥匙?我一般如何使用它们?
谢谢。
更新:
有以下翻译课:
@python_2_unicode_compatible
class Translation(Model):
from_content_type = ForeignKey(ContentType, related_name='from_word_content_type')
from_object_id = UUIDField(default=uuid.uuid4)
from_word = GenericForeignKey('from_content_type', 'from_object_id')
to_content_type = ForeignKey(ContentType, related_name='to_word_content_type')
to_object_id = UUIDField(default=uuid.uuid4)
to_word = GenericForeignKey('to_content_type', 'to_object_id')
Run Code Online (Sandbox Code Playgroud)
但是它不起作用:字段“ to_word”不会生成自动反向关系,因此不能用于反向查询。如果它是GenericForeignKey,请考虑添加GenericRelation。
假设我有一个id列表:c = ['1','2','3']
class Topic(Model):
categories=ManyToManyField(Category)
Run Code Online (Sandbox Code Playgroud)
如何从c过滤具有精确且仅具有id的类别的主题?