在 JavaScript 中,如果我不确定链中的每个元素是否存在/不是未定义,我可以做foo?.bar,如果bar不存在foo,解释器将悄悄地短路它而不抛出错误。
Python中有没有类似的东西?目前,我一直这样做:
if foo and foo.bar and foo.bar.baz:
# do something
Run Code Online (Sandbox Code Playgroud)
我的直觉告诉我,这不是检查链中每个元素是否存在的最佳方法。有没有更优雅/Pythonic 的方式来做到这一点?
我在 Debian 9.12 上安装了 Python 3.8 和 SQLite 3.16.2,并且需要升级到较新版本的 SQLite。我已经下载并编译了 SQLite 网站上可用的合并,并将其放入 中/usr/bin,所以当我这样做时
$ sqlite3 --version
Run Code Online (Sandbox Code Playgroud)
我得到 3.32.3 响应(这是我编译的版本)。
然而,当我这样做时
$ python3.8
>>> import sqlite3
>>> sqlite3.sqlite_version
Run Code Online (Sandbox Code Playgroud)
我得到的是 3.16.2,这是早期版本。如何更改 Python 选择的 SQLite 版本?
mkrieger1 建议这个问题可以回答我的问题。它在这里不起作用,因为那里提供的解决方案是针对 Python 2,而不是 Python 3。pysqlite2不适用于 Python 3。