问题标签 [python-3.7]
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 - yield 在推导式或生成器表达式中的应用是什么?
Python 3.7 文档提到“在用于实现理解和生成器yield
表达式的隐式嵌套范围内”不推荐使用表达式,3.8 的删除待定:
由于它们对包含范围的副作用,yield 表达式不允许作为用于实现理解和生成器表达式的隐式定义范围的一部分(在 Python 3.7 中,此类表达式在编译时会发出 DeprecationWarning,在 Python 3.8+ 中它们将发出 SyntaxError) .
我试图了解这种变化会影响什么(中断?),因为乍一看它解决了一个相当深奥的场景。首先有一个yield
在列表理解或生成器表达式中的充分理由吗?
到目前为止,我想出了这些(相当荒谬的)示例,这些示例在 Python 3.8 中应该是非法的:
python - Pyinstaller 在 python 3.7 中不起作用(找不到模块“编码”)
我在下面有测试程序 - 我用 pyinstaller (Python ver 3.7b. windows 10 - 64bit) 编译了代码,在编译和错误期间注意到警告。对于解决此问题的任何见解,我将不胜感激。
编译警告示例
102 信息:PyInstaller:3.3.1
102 信息:Python:3.7.0b1
104 信息:平台:Windows-10-10.0.14393-SP0
2771 警告:找不到库:api-ms-win-crt-math-l1-1 c:\apps\python\python37\python.exe 的 -0.dll 依赖项
2801 警告:找不到 lib:c:\apps\python 的 api-ms-win-crt-stdio-l1-1-0.dll 依赖项\python37\python.exe错误 - 执行程序 致命 Python 错误:initfsencoding:
无法加载文件系统编解码器 zipimport.ZipImportError:
找不到模块“编码”当前线程 0x0000289c(最近一次调用):
python - python 3.7 中关于循环导入的新功能是什么?
这是 python 3.7 变更日志中的一点。
bpo-30024:现在支持涉及将子模块绑定到名称的绝对导入的循环导入。
在 3.6 中无法使用但现在可以使用的代码示例是什么?
flask - python-docx在Windows 10上从pycharm抛出退出代码错误-1073741819(0xC0000005)
我在让 python-docx 与我的烧瓶应用程序一起工作时遇到了一些困难。最初的问题是安装了 lxml,所以我可以 pip install python-docx。我下载了文件
并将其放在项目根文件夹中。我首先尝试指定文件的完整路径,但在收到上述错误后,我仅使用文件名卸载并重新安装(pip 是安装程序)。这两种方式都允许我从文件中安装库,然后安装 python-docx,但是一旦我插入 import statememt “from docx import Document”,运行程序就会从标题中生成退出代码。
我在 Windows 10 上运行 pycharm2.7 并使用 python3.7
运行应用程序时的完整错误是
* 编辑 *尝试时结果相同 ***** "from lxml import etree" *****
python - 使用模块 __getattr__ 时如何回退到默认值
TL; DR:globals()[name]
回退到“默认”的正确方法是什么?
我有大量从 YML 文件定义的动态创建的类。
动态类创建是通过PyYAMLyaml.safe_load_all
和dataclasses.make_dataclass
(3.7 中的新功能)的组合完成的。我希望这些类的规范偶尔会随着时间而改变,这就是为什么我选择 YML 作为一种易于理解的格式来描述它们。
Python 3.7 引入了新功能(参见 PEP 562):__getattr__
用于管理模块属性访问的模块级函数(还有一个模块级__dir__
函数)。使用这个新函数允许dataclass
从模块命名空间导入每个动态创建的类会很方便,如下所示:
...就像这样:
在阅读 PEP 562 时,我并不清楚如何回退到模块属性访问的默认功能。对于一堂课,只需调用super().__getattr__(*args)
. 我确实在其中一个示例中看到了这一行:
这种方法似乎有效。globals()[name]
回到“默认”的正确方法是什么?似乎不是,因为这globals()[name]
会引发 aKeyError
而不是预期的AttributeError
。
python - 无法在 Windows 上的 Python 3.7.0a 上安装 Pillow
我在 Windows 10 中使用 Python 3.7.0a2 和 Django (2, 0, 2, 'final', 0)。在迁移项目时出现以下错误:
然后我运行“pip install Pillow”命令,出现以下错误:
如何安装枕头?
python - 为什么 Python 3.7 数据类不支持 < > <= 和 >=,还是支持?
对于Transcrypt Python to JavaScript 编译器的 3.7.1 版本,我目前正在使用新的@dataclass
装饰器。根据 PEP 的摘要,我曾预计==, !=, <, >, >=, <=
会得到支持,但似乎并非如此:
一些比较不起作用:
为什么不支持比较运算符,除了==
and !=
?还是我忽略了什么?