我看过这样的帖子:
但不知怎的,我感到困惑.许多混淆如:
何时以及为什么我必须做以下事情?
# Refer link1
return super(MyType, cls).__new__(cls, name, bases, newattrs)
Run Code Online (Sandbox Code Playgroud)
要么
# Refer link2
return super(MetaSingleton, cls).__call__(*args, **kw)
Run Code Online (Sandbox Code Playgroud)
要么
# Refer link2
return type(self.__name__ + other.__name__, (self, other), {})
Run Code Online (Sandbox Code Playgroud)
超级工作怎么样?
什么是link1中的类注册表和unregistry以及它究竟是如何工作的?(我认为它与单身人士有关.我可能是错的,来自C背景.我的编码风格仍然是功能和OO的混合).
类实例化(子类,元类,超类型)和方法调用的流程是什么(
metaclass->__new__, metaclass->__init__, super->__new__, subclass->__init__ inherited from metaclass
Run Code Online (Sandbox Code Playgroud)
)具有良好评论的工作代码(虽然第一个链接非常接近,但它没有谈论cls关键字和超级(..)和注册表).优选地,具有多重继承的示例.
PS:我把最后一部分作为代码,因为Stack Overflow格式化将文本转换metaclass->__new__
为元类 - > 新
我们正在制造一个带有BLE接口的物联网设备,该接口使用托管芯片CC2541 的HM-11(http://www.seeedstudio.com/wiki/Bluetooth_V4.0_HM-11_BLE_Module)分线板(http://www.ti. com/product/CC2541).
身份验证方法设置为 2:Auth with PIN
显示可用身份验证模式的数据表中的剪辑如下:
63. Query/Set Module Bond Mode
Send Receive Parameter
AT+TYPE? OK+Get:[para1] None
AT+TYPE[para1] OK+Set:[para1] Para1: 0~2
0:Not need PIN Code
1:Auth not need PIN
2:Auth with PIN
3:Auth and bond
Default: 0
对于低于Android 5.0版本的设备,它可以正常工作.
然而
对于Android版本5.0的设备,配对对话框显示没有diaplyed-pin或pin-enter-field,当pair点击按钮时,它无法配对 - 抱怨
由于PIN或密钥不正确,无法与MyApp配对.
对于使用Android版本5.1的设备,它甚至不会显示配对对话框,也无法配对.
注意:尝试重启设备,忘记设备,清除设备的绑定信息.
寻找指导,建议,帮助,评论,代码.
我有不均匀分布的数据(wrt日期)几年(2003-2008).我想查询一组给定的开始和结束日期的数据,按PostgreSQL 8.3中任何支持的时间间隔(日,周,月,季,年)对数据进行分组(http://www.postgresql.org/docs /8.3/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC).
问题是某些查询会在所需的时间段内提供连续的结果,如下所示:
select to_char(date_trunc('month',date), 'YYYY-MM-DD'),count(distinct post_id)
from some_table where category_id=1 and entity_id = 77 and entity2_id = 115
and date <= '2008-12-06' and date >= '2007-12-01' group by
date_trunc('month',date) order by date_trunc('month',date);
to_char | count
------------+-------
2007-12-01 | 64
2008-01-01 | 31
2008-02-01 | 14
2008-03-01 | 21
2008-04-01 | 28
2008-05-01 | 44
2008-06-01 | 100
2008-07-01 | 72
2008-08-01 | 91
2008-09-01 | 92
2008-10-01 | 79
2008-11-01 | 65
(12 rows)
Run Code Online (Sandbox Code Playgroud)
但有些人因为没有数据而错过了一些间隔,因为这个:
select …Run Code Online (Sandbox Code Playgroud) 我有嵌套字典:
{'key0': {'attrs': {'entity': 'p', 'hash': '34nj3h43b4n3', 'id': '4130'},
u'key1': {'attrs': {'entity': 'r',
'hash': '34njasd3h43b4n3',
'id': '4130-1'},
u'key2': {'attrs': {'entity': 'c',
'hash': '34njasd3h43bdsfsd4n3',
'id': '4130-1-1'}}},
u'key3': {'attrs': {'entity': 'r',
'hash': '34njasasasd3h43b4n3',
'id': '4130-2'},
u'key4': {'attrs': {'entity': 'c',
'hash': '34njawersd3h43bdsfsd4n3',
'id': '4130-2-1'}},
u'key5': {'attrs': {'entity': 'c',
'hash': '34njawersd3h43bdsfsd4n3',
'id': '4130-2-2'}}}},
'someohterthing': 'someothervalue',
'something': 'somevalue'}
Run Code Online (Sandbox Code Playgroud)
给予id - 一个ids喜欢4130的4130-2-2.
导航到正确字典的最简单方法是什么?
就像给定id的4130-2-1那样它应该到达字典key=key5
非xml方法请.
编辑(1):筑巢之间1到4的水平,但我知道我的嵌套前解析.
编辑(2):修复了代码.
**编辑(3):**再次固定代码的字符串值 …
我想将主模板的某些部分移动到不需要django渲染的部分(即纯html/js),并在主模板的ng-view中使用它们.
然而,部分有Django formsets(使用crispy),即没有Django渲染就没用了.
而且,我不想手工编写完整的formset HTML.
我怎样才能做到这一点?
好吧,我正在阅读这篇文章然后我遇到了一个代码:
jokes=range(1000000)
domain=[(0,(len(jokes)*2)-i-1) for i in range(0,len(jokes)*2)]
Run Code Online (Sandbox Code Playgroud)
我认为在列表理解之外计算len(笑话)的值不是更好吗?
好吧,我尝试了它并计时三个代码
jv@Pioneer:~$ python -m timeit -s 'jokes=range(1000000);domain=[(0,(len(jokes)*2)-i-1) for i in range(0,len(jokes)*2)]'
10000000 loops, best of 3: 0.0352 usec per loop
jv@Pioneer:~$ python -m timeit -s 'jokes=range(1000000);l=len(jokes);domain=[(0,(l*2)-i-1) for i in range(0,l*2)]'
10000000 loops, best of 3: 0.0343 usec per loop
jv@Pioneer:~$ python -m timeit -s 'jokes=range(1000000);l=len(jokes)*2;domain=[(0,l-i-1) for i in range(0,l)]'
10000000 loops, best of 3: 0.0333 usec per loop
Run Code Online (Sandbox Code Playgroud)
观察第一个和第二个之间的边际差异2.55%让我觉得 - 是第一个列表理解
domain=[(0,(len(jokes)*2)-i-1) for i in range(0,len(jokes)*2)]
Run Code Online (Sandbox Code Playgroud)
python内部优化?或者2.55%是一个足够大的优化(假设len(笑话)= 1000000)?
如果是这样 - …
我使用RedisToGo Nano插件在Heroku上使用celerybeat
有一个网络dyno和一个工人dyno
celerybeat工作人员每分钟都要执行一项任务.
问题是:每当我部署新的提交时,dynos重启,我就会收到此错误
2014-02-27T13:19:31.552352+00:00 app[worker.1]: Traceback (most recent call last):
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 389, in start
2014-02-27T13:19:31.552352+00:00 app[worker.1]: self.reset_connection()
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 727, in reset_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: self.connection = self._open_connection()
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 792, in _open_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: callback=self.maybe_shutdown)
2014-02-27T13:18:23.864287+00:00 app[worker.1]: self.on_connect()
2014-02-27T13:18:23.864287+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/redis/connection.py", line 263, in on_connect
2014-02-27T13:18:23.864287+00:00 app[worker.1]: if nativestr(self.read_response()) != 'OK':
2014-02-27T13:18:23.864287+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/redis/connection.py", line 314, in read_response
2014-02-27T13:18:23.864287+00:00 app[worker.1]: raise response
2014-02-27T13:18:23.864287+00:00 app[worker.1]: ResponseError: max …Run Code Online (Sandbox Code Playgroud) Postgres中'money'和'OID'列类型的sqlalchemy等效列类型是什么?
python ×5
postgresql ×2
android ×1
angularjs ×1
celery ×1
celerybeat ×1
database ×1
dictionary ×1
django ×1
django-forms ×1
heroku ×1
left-join ×1
metaclass ×1
nested ×1
optimization ×1
parsing ×1
redis ×1
redistogo ×1
sqlalchemy ×1
struct ×1
super ×1
types ×1