给定一个保持其对象注册表的类:
class Person(object):
__registry = []
def __init__(self, name):
self.__registry.append(self)
self.name = name
Run Code Online (Sandbox Code Playgroud)
如何使以下代码工作(不使用Person .__注册表):
for personobject in Person:
print personobject
Run Code Online (Sandbox Code Playgroud)
在研究的过程中,我发现了一个人可以选择__metaclass__一种__getitem__方法的暗示.任何想法如何看起来像?
在学习python的基本编程时,我找到了web.py. 我遇到了一个愚蠢的问题:
我写了一个简单的控制台应用程序,其主循环在单独的线程中从队列中截取项目.我的目标是使用web.py将项目添加到我的队列,并通过Web请求报告队列的状态.我把它作为模块运行,但无法将其集成到我的主应用程序中.我的问题是,当我用app.run()启动http服务器时,它会阻止我的主循环.还试图用thread.start_new_thread启动它,但它仍然阻止.有一种简单的方法可以在我的应用程序中在后台运行web.py的集成http服务器.
在可能的情况下,我是一个基本的误解的受害者,任何澄清我的推理错误的尝试都会有所帮助;.)(请耐心等待我,我是初学者:-)
我有一个带有3个ForeignKey字段的简单模型.
class Car(models.Model):
wheel = models.ForeignKey('Wheel', related_name='wheels')
created = models.DateTimeField(auto_now_add=True)
max_speed = models.PositiveSmallIntegerField(null=True)
dealer = models.ForeignKey('Dealer')
category = models.ForeignKey('Category')
Run Code Online (Sandbox Code Playgroud)
对于django管理员中的列表视图,我得到4个查询.其中一个是带有3个INNER JOINS的SELECT.那个查询是慢的方法.用STRAIGHT_JOIN替换INNER JOIN将解决问题.有没有办法在评估之前修补管理生成的查询?
(代码示例是python)
让我们假设我们有一个加起来为100的百分比列表:
mylist = [2.0, 7.0, 12.0, 35.0, 21.0, 23.0]
Run Code Online (Sandbox Code Playgroud)
某些mylist值可能会更改,其他值必须保持固定.
让我们假设前3(2.0,7.0,12.0)必须保持固定,最后3(35.0,21.0,23.0)可能会改变.
fix = mylist[:3]
vari = mylist[3:]
Run Code Online (Sandbox Code Playgroud)
目标是将新项添加到mylist,而sum(mylist)保持100.0并且vari
项保持它们之间的关系.为此,我们需要
从每个变量项中减去一个PERCENTAGE.示例:假设我们要将4.0添加到mylist.
使用丑陋的aproximation循环我发现我需要减去ca.
每个变量项目的5.0634%(CERTAIN PERCENTAGE = 5.0634):
adjusted =[]
for number in vari:
adjusted.append(number-(number*(5.0634/100.0)))
adjusted.extend(fix)
adjusted.append(4.0)
Run Code Online (Sandbox Code Playgroud)
现在调整包含我想要的结果.
有没有人知道python的快速OrderedSet实现:
我找到的所有实现都缺少.index()方法.
python ×4
algorithm ×1
django ×1
django-admin ×1
html-lists ×1
mysql ×1
oop ×1
set ×1
web-services ×1
web.py ×1