问题标签 [python-3.6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 对象的 Python 格式化字符串文字
Python3.6 的一个非常酷的新特性之一是格式化字符串文字(https://docs.python.org/3.6/whatsnew/3.6.html#whatsnew36-pep498)的实现。
不幸的是,它的行为不像众所周知的 format() 函数:
如您所见,切片是可能的(实际上是字符串上的所有 python 函数)。但format()
不适用于切片:
有没有办法在字符串对象上获得新格式化字符串文字的功能?
python - 如何将使用生成器的代码转换为 asyncio
我有一段 I/O 绑定代码,基本上是为我的一个研究项目做一些网络抓取。
代码开始是命令式的,然后变成了列表理解,现在主要变成了生成器:
这种代码真的很适合我,因为它基于生成器,不需要存储太多状态,我想我可以很容易地将它变成asyncio
基于代码:
然而,在 Python 3.5 中,这只是返回 a Syntax error
,因为await
表达式不允许在推导中使用。
Python 3.6 承诺在 pep 530 中实现异步生成器。
此功能是否使我能够asyncio
轻松地将基于生成器的代码转换为代码,还是还需要完全重写?
sql - 正确使用 Django 相关字段
我根本不了解的 Django 模型的一个方面是相关字段,并正确使用它们。我认为这反映了对 SQL 和数据库的一般理解不足 - 所以我怀疑这是许多 django 用户的问题。
在我当前的代码中,我正在构建一个旅游应用程序,所以我有住宿作为模型。然后我有路线。一天的路线最终是一堆关系字段,但让我感到困惑的是我需要一个开始住宿和一个结束住宿 - 两个独立的关系。
对我来说,从逻辑上讲,我应该能够有一个 OneToOneField - start_accom 到住宿,然后 end_accom 到住宿。但是这样做会引发错误。
编码:
当我运行 django runserver 时出现错误消息:
python - 异步等待函数中的 Python asyncio.semaphore
我正在尝试自学 Python 的异步功能。为此,我构建了一个异步网络爬虫。我想限制我一次打开的连接总数,以便成为服务器上的好公民。我知道信号量是一个很好的解决方案,并且 asyncio 库内置了一个信号量类。我的问题是 Pythonyield from
在async
函数中使用时会抱怨,因为你正在组合yield
和await
语法。以下是我正在使用的确切语法...
引发此异常:
我能想到的一些可能的解决方案......
- 只需使用
@asyncio.coroutine
装饰器 - 使用线程。信号量?这似乎可能会导致其他问题
- 出于这个原因,在 Python 3.6 的 beta 版中尝试这个。
我对 Python 的异步功能非常陌生,所以我可能会遗漏一些明显的东西。
python - Python 3.6.0b4 amd64 - pywin32-220.win-amd64-py3.6 找不到 python 3.6-32
我刚刚在我的 Win 7 计算机上安装了 python 3.6.0b4(默认,2016 年 11 月 22 日)amd64。当我尝试安装 pywin32-220.win-amd64-py3.6 时,我收到错误消息Python version 3.6-32 required, which was not found in the registry
。
Python 3.6-32 版本听起来像 32bit 版本,这似乎不合适。也许我误解了。
我看过有关安装 pywin 3.5-32 的类似问题的帖子,但没有与 3.6b4 或 64 位版本相关的帖子。
我该如何解决?
python - 在类中使用全局变量时,它不会返回模块级全局变量,而只会返回错误
使用内置globals()
函数时,它似乎这样做:当我尝试访问我设置为从类内部更改的全局值时(不是全局类,因为它会在每次初始化时被覆盖。我所做的全局应该保留并且无论有多少类初始化都使用。
像一些示例代码:
发生的追溯:
python - 尝试在 PyCharm (Python 3.6) 中调试时,模块“trace”没有属性“modname”
我从Mac OS的官方“pkg”包中安装了Python 3.6rc1 。现在,每次我在 PyCharm 中使用“调试”运行配置(不依赖于特定脚本)时,我都会得到一个巨大的堆栈跟踪,其中包含以下错误消息(连续多次抛出):
使用当前最新的 PyCharm 2016.3。请注意,我可以使用相同的 PyCharm 实例使用 Python 2.7 或 3.5 进行调试,而不会出现任何问题。
有没有人经历过这样的事情?有解决方法吗?
因为我不完全确定这实际上是一个错误或者我配置错误,所以在 SO 上发帖;另外,我知道 PyCharm 团队在pycharm
这里检查标签;并且,与 PyCharm 的错误跟踪器相比,其他人更容易在此处找到该主题。
python - 来自 multiprocessing.Pool.apply 的未来
看着multiprocessing.Pool.apply_async
我期待它返回一个未来。可悲的是,它似乎基于回调。
现在,如果我想调用multiprocessing.Pool.apply
但将其包装在 Future 中(因此它会被异步处理),这可能吗?
python - 使用 f 字符串的查询格式
我有非常大的字典,我想插入 MySQL 表。字典键是表中的列名。到目前为止,我正在构建这样的查询:
输出:
这适用于Python2.7
但是在 Python 3.6 中,如果我使用这样的字符串文字:
它打印这个:
有小费吗?