小编Mar*_*ers的帖子

如何在Python自己的调试器(PDB)中执行多行语句

所以我正在运行一个Python脚本,在其中我通过编写调用Python的调试器PDB:

import ipdb; ipdb.set_trace()
Run Code Online (Sandbox Code Playgroud)

(iPython的PDB版本,虽然我认为它不会产生影响;我只将其用于彩色输出).

现在,当我到调试器时,我想执行多行语句,例如if子句或for循环,但是一旦我输入

if condition:
Run Code Online (Sandbox Code Playgroud)

并点击返回键,我收到错误信息 *** SyntaxError: invalid syntax (<stdin>, line 1)

如何在PDB中执行多行语句?如果不可能有一种解决方法仍然执行if子句或for循环?

python debugging multiline pdb

135
推荐指数
6
解决办法
4万
查看次数

Python列表迭代器行为和下一个(迭代器)

考虑:

>>> lst = iter([1,2,3])
>>> next(lst)
1
>>> next(lst)
2
Run Code Online (Sandbox Code Playgroud)

因此,正如预期的那样,推进迭代器是通过改变同一个对象来处理的.

在这种情况下,我希望:

a = iter(list(range(10)))
for i in a:
   print(i)
   next(a)
Run Code Online (Sandbox Code Playgroud)

跳过每个第二个元素:调用next应该使迭代器前进一次,然后循环的隐式调用应该再次前进 - 并且第二次调用的结果将被分配给i.

它没有.循环打印列表中的所有项目,而不跳过任何项目.

我的第一个想法是,这可能发生,因为循环调用iter它传递的内容,这可能会给出一个独立的迭代器 - 事实并非像我们所说的那样iter(a) is a.

那么,为什么next在这种情况下似乎没有推进迭代器呢?

python iteration iterator list

133
推荐指数
4
解决办法
20万
查看次数

列表推导和功能函数是否比"for loops"更快?

在Python的性能方面,是一个列表理解,还是比for循环更快的map(),filter()和reduce()等函数?从技术上讲,为什么它们"以C速度运行",而"for循环以python虚拟机速度运行"?

假设在我正在开发的游戏中,我需要使用for循环绘制复杂且巨大的地图.这个问题肯定是相关的,因为如果列表理解确实更快,那么为了避免滞后(尽管代码的视觉复杂性),这将是一个更好的选择.

python performance for-loop list-comprehension map-function

130
推荐指数
7
解决办法
7万
查看次数

将python'type'对象转换为字符串

我想知道如何使用python的反射功能将python'type'对象转换为字符串.

例如,我想打印一个对象的类型

print "My type is " + type(someObject) # (which obviously doesn't work like this)
Run Code Online (Sandbox Code Playgroud)

编辑:顺便说一句,谢谢大家,我只是寻找简单的打印类型的控制台输出目的,没有什么花哨的.加比的type(someObject).__name__作品很好:)

python reflection

127
推荐指数
4
解决办法
12万
查看次数

IOS7:UINavigationController中的UIScrollView偏移量

我目前正在ios 7上迁移我的应用程序,并且我已经在新的导航控制器/栏管理上被困了几个小时.

之前,当我们有导航控制器时,我们有一个这样的片段:

UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[[MainViewController alloc]init]];
Run Code Online (Sandbox Code Playgroud)

在界面构建器中,我们可以选择为视图设置现有导航栏,并且所有内容都与实际视图的内容相匹配.

好的,现在,我不知道如何使用界面构建器正确设计.我仍然有我的片段来初始化我的navcontroller.但是在我的MainViewController的界面构建器中,如果我将状态栏设置为半透明或不透明的导航栏,我的顶部偏移量为44px(见下文).


Interface Builder_________________________和结果


现在,如果我将状态栏设置为无,则顶部没有偏移,但由于导航栏导致模拟器上的视图较小,因此界面构建器中视图的底部被切断.

Interface Builder_________________________和结果

我想我真的在这里遗漏了一些东西,但我在iOS7 Transitions Guide中找不到任何主题或苹果信息.

谢谢你的帮助


编辑

正如我们在图片中看到的那样,视图的第一个子节点是包含两个标签的UIScrollView,当没有scrollview时,问题不会出现.如果它是UITableView也会出现.如果标签位于UIScrollView之外,则该标签没有偏移量.

uinavigationbar uinavigationcontroller ios7

126
推荐指数
3
解决办法
5万
查看次数

如何使用NuoDB在Ruby On Rails中手动执行SQL命令

我正在尝试手动执行SQL命令,以便我可以访问NuoDB中的过程.

我正在使用Ruby on Rails,我正在使用以下命令:

ActiveRecord::Base.connection.execute("SQL query")
Run Code Online (Sandbox Code Playgroud)

"SQL查询"可以是任何SQL命令.

例如,我有一个名为"反馈"的表,当我执行命令时:

ActiveRecord::Base.connection.execute("SELECT `feedbacks`.* FROM `feedbacks`")
Run Code Online (Sandbox Code Playgroud)

这只会返回"真实"响应,而不是向我发送所有请求的数据.

这是Rails控制台上的输出是:

SQL (0.4ms)  SELECT `feedbacks`.* FROM `feedbacks`
 => true
Run Code Online (Sandbox Code Playgroud)

我想用它来调用NuoDB中的存储过程,但是在调用过程时,这也会返回一个"true"响应.

无论如何我是否可以执行SQL命令并获取请求的数据而不是获得"真实"的响应?

sql activerecord ruby-on-rails-3 nuodb

125
推荐指数
5
解决办法
14万
查看次数

像iPhone上的Facebook应用程序SplitView

我想创建一个iPhone应用程序,它使用类似于链接中所示的导航场景

截图

请注意我不希望这只适用于iPad,我希望它完全按照图片的方式为iPhone工作,当你点击一个tableview项目时它会隐藏tableview并使该视图全屏显示.我想知道如何做到这一点,因为我无法弄明白自己.

谢谢

iphone objective-c uinavigationcontroller tableview uisplitviewcontroller

121
推荐指数
3
解决办法
4万
查看次数

Everyauth vs Passport.js?

EveryauthPassport.js似乎有非常相似的功能集.两者之间的一些积极和消极的比较是什么让我想要使用一个而不是另一个?

connect node.js everyauth passport.js

120
推荐指数
4
解决办法
4万
查看次数

NameError:未定义全局名称'unicode' - 在Python 3中

我正在尝试使用名为bidi的Python包.在这个包中的模块(algorithm.py)中,有一些行给出了错误,尽管它是包的一部分.

以下是这些行:

# utf-8 ? we need unicode
if isinstance(unicode_or_str, unicode):
    text = unicode_or_str
    decoded = False
else:
    text = unicode_or_str.decode(encoding)
    decoded = True
Run Code Online (Sandbox Code Playgroud)

这是错误信息:

Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    bidi_text = get_display(reshaped_text)
  File "C:\Python33\lib\site-packages\python_bidi-0.3.4-py3.3.egg\bidi\algorithm.py",   line 602, in get_display
    if isinstance(unicode_or_str, unicode):
NameError: global name 'unicode' is not defined
Run Code Online (Sandbox Code Playgroud)

我应该如何重写这部分代码,以便它在Python3中工作?如果有人使用Python 3的bidi包,请告诉我他们是否发现了类似的问题.我感谢您的帮助.

python unicode bidi nameerror python-3.x

120
推荐指数
3
解决办法
16万
查看次数

json_encode稀疏PHP数组作为JSON数组,而不是JSON对象

我在PHP中有以下数组:

Array
(
    [0] => Array
        (
            [id] => 0
            [name] => name1
            [short_name] => n1
        )

    [2] => Array
        (
            [id] => 2
            [name] => name2
            [short_name] => n2
        )
)
Run Code Online (Sandbox Code Playgroud)

我想将JSON编码为JSON数组,生成如下字符串:

[  
    {  
        "id":0,
        "name":"name1",
        "short_name":"n1"
    },
    {  
        "id":2,
        "name":"name2",
        "short_name":"n2"
    }
]
Run Code Online (Sandbox Code Playgroud)

但是当我调用json_encode这个数组时,我得到以下内容:

{  
    "0":{  
        "id":0,
        "name":"name1",
        "short_name":"n1"
    },
    "2":{  
        "id":2,
        "name":"name2",
        "short_name":"n2"
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个对象而不是一个数组.

我怎样才能json_encode将我的数组编码为数组呢?

php json

112
推荐指数
2
解决办法
18万
查看次数