相关疑难解决方法(0)

如果PyPy快6.3倍,为什么我不应该使用PyPy而不是CPython?

我一直听到很多关于PyPy项目的消息.他们声称它比他们网站上的CPython解释器快6.3倍.

每当我们谈论像Python这样的动态语言时,速度是最重要的问题之一.为了解决这个问题,他们说PyPy的速度要快6.3倍.

第二个问题是并行性,臭名昭着的全球口译锁(GIL).为此,PyPy表示它可以提供无GIL的Python.

如果PyPy可以解决这些巨大的挑战,它的弱点是什么阻碍了更广泛的采用?也就是说,什么阻止像我这样的人,一个典型的Python开发人员,现在切换到PyPy ?

python performance jit pypy cpython

660
推荐指数
10
解决办法
15万
查看次数

在Python中创建一个新的dict

我想用Python构建一个字典.但是,我看到的所有示例都是从列表中实例化字典等...

如何在Python中创建一个新的空字典?

python dictionary list

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

是否需要关闭没有引用它们的文件?

作为一个完整的编程初学者,我试图理解打开和关闭文件的基本概念.我正在做的一个练习是创建一个脚本,允许我将内容从一个文件复制到另一个文件.

in_file = open(from_file)
indata = in_file.read()

out_file = open(to_file, 'w')
out_file.write(indata)

out_file.close()
in_file.close()
Run Code Online (Sandbox Code Playgroud)

我试图缩短这段代码,并想出了这个:

indata = open(from_file).read()
open(to_file, 'w').write(indata)
Run Code Online (Sandbox Code Playgroud)

这对我来说效果更好一点.然而,这也是我感到困惑的地方.我想我遗漏了对打开文件的引用; 不需要in_file和out_file变量.但是,这是否会让我留下两个打开的文件,但没有任何文件可以引用它们?我如何关闭这些,或者没有必要?

非常感谢任何有助于阐明这一主题的帮助.

python file python-2.7

52
推荐指数
6
解决办法
6085
查看次数

cpython和python之间有什么区别吗?

我想知道CPython和Python之间的区别,因为我听说Python是用C语言开发的 - 那么CPython的用途是什么?

python

30
推荐指数
2
解决办法
9206
查看次数

为什么Python yield语句形成一个闭包?

我有两个函数返回一个函数列表.函数接受一个数字x并添加i到它.i是一个从0-9增加的整数.

def test_without_closure():
    return [lambda x: x+i for i in range(10)]



def test_with_yield():
    for i in range(10):
        yield lambda x: x+i
Run Code Online (Sandbox Code Playgroud)

我希望test_without_closure返回一个包含10个函数的列表,每个函数都添加9xi的值以来9.

print sum(t(1) for t in test_without_closure()) # prints 100
Run Code Online (Sandbox Code Playgroud)

我希望它test_with_yield也会有相同的行为,但它正确地创建了10个函数.

print sum(t(1) for t in test_with_yield()) # print 55
Run Code Online (Sandbox Code Playgroud)

我的问题是,在Python中屈服形成一个闭包吗?

python closures functional-programming yield

24
推荐指数
2
解决办法
1867
查看次数

Python中的类与类型

我刚刚开始自学如何编码.我目前正在阅读Think Python 2 for python 3,当它教授该type()函数时,它给出了type(2)输出的示例<class 'int'>.然后它声明"在类别意义上使用'类'一词;类型是一类价值."

困惑我的部分是type()函数输出类而不是类型.另外,我不确定类型和类之间的区别; 是字符串,浮点和"值"类型的整数类,还是它们是相同的东西?

我已经看了这个,但是找不到我的具体问题的答案,或者我找不到简单的理解.

python python-3.x

12
推荐指数
2
解决办法
6940
查看次数

我该如何修复任务已被破坏但仍处于待处理状态?

我有个问题。因此,每次用户在我的不和谐服务器上写入聊天消息时,我都会运行一个任务 - 它称为on_message. 所以我的机器人在这个事件中有很多事情要做,我经常遇到这种错误:

\n
Task was destroyed but it is pending!\ntask: <Task pending name='pycord: on_message' coro=<Client._run_event() done, defined at /Bots/gift-bot/discord/client.py:374> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f68a7bdfc10>()]>>\n
Run Code Online (Sandbox Code Playgroud)\n

所以我想如果我想解决这个问题,我需要加速我的代码。但遗憾的是,我不知道如何修复此错误。

\n

编辑:我集成了计时,这就是我打印的内容:

\n
Task was destroyed but it is pending!\ntask: <Task pending name='pycord: on_message' coro=<Client._run_event() done, defined at /Bots/gift-bot/discord/client.py:374> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f01063f98e0>()]>>\n2 if checks done - 7.867813110351562e-06\n5 if checks done - 0.0061550140380859375\nmysql checks done - 0.010785341262817383\ntask done - 0.13075661659240723\n2 if checks done - 8.344650268554688e-06\n5 if …
Run Code Online (Sandbox Code Playgroud)

python mysql task python-asyncio pycord

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

内置函数的实现

我试着环顾四周,但我找不到任何关于这个话题的清楚.

是否在每次启动Python时自动导入的模块中实现内置函数?在哪个模块的情况下?

或者内置函数只是Python解释器中的嵌入式函数?

python python-internals

0
推荐指数
1
解决办法
125
查看次数

意思是什么 - "IronPython是Python编程语言的一种实现"

我知道问题看起来是广泛和主观的,但我对IronPython的这个定义无处不在 - " IronPython是Python编程语言的实现 "如果有任何SO帖子准确回答这个问题,请随意将其标记为重复.

到目前为止,我对此的理解是:

1)Iron python只是用C#编写的托管库(IronPython.dll)并使用CLR

2)Iron python托管代码在内部使用标准Python库(作为Iron Python的一部分安装)来使用DLR弥补差距.

这里的任何python代码的实际执行运行时间是多少?是Python解释器吗?这个解释器是否在不同的进程中运行?

3)IronPython.dll公开api以与任何其他.net语言集成python代码.

我确信某些地方我的理解是不正确的 - " IronPython是Python编程语言的一种实现 "因为从这看起来像Python语言是一种契约,它规定了你如何编写检查条件if condition和实现者如铁python照顾将其转换为IL代码.是这样的吗?

感谢任何帮助或指针.

c# python ironpython dynamic-language-runtime language-design

0
推荐指数
1
解决办法
341
查看次数