小编mal*_*ree的帖子

使用dict文字和dict构造函数之间有区别吗?

使用PyCharm,我注意到它提供转换dict文字:

d = {
    'one': '1',
    'two': '2',
}
Run Code Online (Sandbox Code Playgroud)

进入一个dict构造函数:

d = dict(one='1', two='2')
Run Code Online (Sandbox Code Playgroud)

这些不同的方法在某些重要方面有所不同吗?

(在写这个问题时,我注意到使用dict()它似乎不可能指定一个数字键.. d = {1: 'one', 2: 'two'}是可能的,但显然,dict(1='one' ...)不是.还有其他吗?)

python dictionary pycharm

192
推荐指数
6
解决办法
13万
查看次数

Vim:查看文件结构 - 类,方法,函数

所以我有这个梦想,对吧:我在PHP中做了令人难以置信的魔法,在vim中,每隔一段时间我就想按一些花哨的按钮组合(越长越好)才能浏览文件,不是枯燥的,逐行模式,而是在宏观的概述模式.让我的眼睛看到类似于树的类,列表,方法,函数,变量和其他代码奇迹.在纯粹的欢乐中从功能跳跃到功能.

你知道如何实现我的愿望吗?

与任意IDE中的任何文件结构对话框/视图类似.什么?

ide vim

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

检查其中一个变量是否设置为None

我最近不得不对可能尚未初始化的任何变量(其默认值为None)进行小型检查.我想出了这个:

if None in (var1, var2, var3):
    error_out()
Run Code Online (Sandbox Code Playgroud)

虽然,在我看来,接近美丽,我在想 - 这是一个很好的方法吗?这是做的呢?是否有任何情况会产生一些意想不到的结果?

python

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

XMLHttpRequest的getResponseHeader()的限制?

我注意到XMLHttpRequest.getResponseHeader()返回的实际标头的结果并不总是匹配(如果请求是以常规方式进行的).

例如,假设我正在提出xhr请求https://foo.example.com/api/resource/100.在Chrome的开发者控制台中,在"网络"下,我可以看到正在做出的响应 - 我还可以看到所有响应标头(例如,10).但是(复制粘贴的控制台):

> response
  XMLHttpRequest
> response.getAllResponseHeaders();
  "content-type: text/html
  " 
Run Code Online (Sandbox Code Playgroud)

对哪些标题可用有任何限制?这取决于响应类型吗?我记得为404s获得了一套完整的标题,但这只是400s的标题.

是什么赋予了?

javascript http xmlhttprequest

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

App Engine的Python REST框架?

有关使用Python在App Engine上实现REST API的任何指示,建议吗?使用webapp该应用程序本身.

我目前所知道的是我可以:

  • 破解我自己的webapp处理程序来处理类似REST的URI,但这似乎失去了对大量资源的优雅.我的意思是,它很简单temperature/atlanta,但即使是相当简单也不是那么多*/users/alice/address/work(尽管请记住,在实施之后我不会这么说,只是花了一些时间试图设计一个合适的处理程序,所以我的看法可能会消失.

  • 使用其中一个更大的Python Web框架提供的REST功能.我有一些无法解释的同情web2py,但是,由于它没有用于项目,将它与应用程序捆绑仅仅是为了提供一些REST功能似乎......过度杀伤?

(嗯,看起来我不喜欢这些方法.坚韧.)

所以我在这里问:在这里,你有什么建议,最好是基于经验的建议?我有什么选择,我对它们的看法是正确的,我是否错过了什么?

提前致谢.

python api rest google-app-engine frameworks

14
推荐指数
2
解决办法
6328
查看次数

SQLAlchemy:从db.Model获取关系

我需要获得模型属性的列表,这些属性实际上是关系(也就是说,它们是由它们创建的relationship()).

说我有一个模型Foomodels:

class Thing(db.Model):
    id = db.Column(...)
    bar_id = db.Column(...)
    foo_id = db.Column(...)
    foo = db.relationship('Foo')
    bar = db.relationship('Bar')
Run Code Online (Sandbox Code Playgroud)

稍后,我想models.Thing获取一个关系属性列表,即['foo', 'bar'].

目前我正在检查其所指示的每个属性dir(models.Thing)恰好是sqlalchemy.orm.attributes.InstrumentedAttributeproperty属性类的类型- 可以是a ColumnPropertyRelationshipProperty.这样做的工作,但我想知道是否有另一种方式.

我可能只是找到所有属性结束_id并导出关系名称,但在某些情况下这可能会中断.

设置一个__relationships__ = ['foo', 'bar']怎么样?

或者SQLAlchemy中有什么内容可以帮助我吗?

python sqlalchemy

14
推荐指数
3
解决办法
8719
查看次数

#(nop)在泊坞历史中意味着什么?

#(nop)上市时前缀是什么意思docker history

$ docker history swarm
IMAGE               CREATED             CREATED BY   
c54bba046158        9 days ago          /bin/sh -c #(nop) CMD ["--help"]
Run Code Online (Sandbox Code Playgroud)

docker

14
推荐指数
1
解决办法
2842
查看次数

Python:测试None,测试布尔值

这些方法之间是否存在与实现相关的低级别(性能)?

# check if string is empty
# the preferred way it seems [1]
if string:
    print string
else:
    print "It's empty."

# versus [2]
if string is '':

# or [3]
if string == '':
Run Code Online (Sandbox Code Playgroud)

例如,在测试时None,我仍然发现它更具可读性和显性:

if some_var is not None:
Run Code Online (Sandbox Code Playgroud)

..代替..

if not some_var:
Run Code Online (Sandbox Code Playgroud)

if not some_var,至少对我来说,总是读"如果some_var不存在".

哪个更好用,有什么是正确的用例==,is和布尔测试?

python

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

将模板中的props传递给react.js根节点

我可能错过了一些东西,但这里有.如果我有:

var Swoosh = React.createClass({
  render: function() {
    return (
      <div className="swoosh">
        Boom.
      </div>
    );
  }
});

React.renderComponent(
  <Swoosh />,
  document.getElementById('content')
);
Run Code Online (Sandbox Code Playgroud)

我可以props在挂载点(where id='content')上设置属性吗?

<div id='content' foo='alice' bar='has' bav='a cat' />
<!-- have foo, bar & bav available as props in <Swoosh />? -->
Run Code Online (Sandbox Code Playgroud)

reactjs

10
推荐指数
3
解决办法
4814
查看次数

初始化对象变量 - Java方法,Python方法?

我有一个对象需要传递4-5个值.为了显示:

class Swoosh():
    spam = ''
    eggs = ''
    swallow = ''
    coconut = ''

    [... methods ...]
Run Code Online (Sandbox Code Playgroud)

现在,使用方法Swoosh是:

swoosh = Swoosh()
swoosh.set_spam('Spam!')
swoosh.set_eggs('Eggs!')
swoosh.set_swallow('Swallow!')
swoosh.set_coconut('Migrated.')
Run Code Online (Sandbox Code Playgroud)

我怀疑这是Pythonic还是Java影响太大了.还是只是必要的?此外,如果您想知道为什么我使用setter而不是简单地访问对象变量 - 必须在那里进行一些基本的验证,因此set_方法.

我估计我可以提供一种不同的方式来初始化Swoosh- 提供一个__init__()接受dict/ list

无论如何,我只是想从更有经验的人那里寻求帮助/建议.

提前感谢您对此的任何意见.

python

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