python安装MongoDB与运算符优先级

python安装MongoDB

MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。

PyMongo

Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。

pip 安装

pip 是一个通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能。

安装 pymongo:

复制代码
$ python3 -m pip3 install pymongo

也可以指定安装的版本:

复制代码
$ python3 -m pip3 install pymongo==3.5.1

更新 pymongo 命令:

复制代码
$ python3 -m pip3 install --upgrade pymongo

easy_install 安装

旧版的 Python 可以使用 easy_install 来安装,easy_install 也是 Python 包管理工具。

复制代码
$ python -m easy_install pymongo

更新 pymongo 命令:

复制代码
$ python -m easy_install -U pymongo

测试 PyMongo

接下来我们可以创建一个测试文件 demo_test_mongodb.py,代码如下:

复制代码
import pymongo

创建数据库

创建一个数据库

创建数据库需要使用 MongoClient 对象,并且指定连接的 URL 地址和要创建的数据库名。

如下实例中,我们创建的数据库 runoobdb :

复制代码
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["runoobdb"]

判断数据库是否已存在

我们可以读取 MongoDB 中的所有数据库,并判断指定的数据库是否存在:

复制代码
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
dblist = myclient.list_database_names()
# dblist = myclient.database_names() 
if "runoobdb" in dblist:
  print("数据库已存在!")

Python运算符优先级

所有的数学运算都是从左向右进行的,Python 语言中的大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,它们是从右向左结合的,也就是说,它们是从右向左运算的。

乘法和加法是两个可结合的运算符,也就是说,这两个运算符左右两边的操作数可以互换位置而不会影响结果。

运算符有不同的优先级,所谓优先级就是在表达式运算中的运算顺序。下表中列出了包括分隔符在内的所有运算符的优先级顺序。

运算符说明 Python运算符 优先级
索引运算符 xindex或xindex:index2\[:index3] 18、19
属性访问 x.attrbute 17
乘方 ** 16
按位取反 ~ 15
符号运算符 +或- 14
乘、除 *、/、//、% 13
加、减 +、- 12
位移 >>、<< 11
按位与 & 10
按位异或 ^ 9
按位或 | 8
比较运算符 ==、!=、>、>=、<、<= 7
is运算符 is、is not 6
in运算符 in、not in 5
逻辑非 not 4
逻辑与 and 3
逻辑或 or 2
[运算符的优先级]

根据表中运算符的优先级,我们分析 4+4<<2 语句的执行结果。程序先执行 4+4 得到结果 8,再执行 8<<2 得到 32。如果使用"()"就可以改变程序的执行顺序,比如 4+(4<<2),则先执行 4<<2 得到结果16,再执行 4+16 得到 20。

虽然 Python 运算符存在优先级的关系,但并不推荐过度依赖运算符的优先级,因为这会导致程序的可读性降低。因此,在这里要提醒读者:

不要把一个表达式写得过于复杂,如果一个表达式过于复杂,则把它分成几步来完成。

不要过多地依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,应尽量使用"()"来控制表达式的执行顺序。

相关推荐
ellenwan202630 分钟前
近期AI协作量化实现,先补规则清晰度和流程完整性
人工智能·python
小小晓.34 分钟前
C++小白记:C风格字符串和数组用法
c语言·开发语言·c++
卷无止境35 分钟前
Python 类型注解与运行时反射:从原理到工程实践
后端·python
Helen_cai42 分钟前
OpenHarmony 项目统一全局样式、尺寸、色彩主题封装 ThemeUtil(API23)
开发语言·前端·javascript·华为·harmonyos
郑州光合科技余经理43 分钟前
家政O2O平台解析:从0搭建上门预约小程序解决方案
android·java·开发语言·前端·小程序·架构·php
酷可达拉斯1 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
W658034191 小时前
2026年AI编程工具实测横评:Claude Code v2.1、Cursor 3.0、Trae SOLO、Copilot、Windsurf 谁更好用?
python·copilot·ai编程
深念Y1 小时前
开发者如何清理和迁移C盘堆积的垃圾
c语言·开发语言
snow@li1 小时前
技术栈对应:Vue (前端) + SpringBoot (Java 后端) =》 Python 全场景配套
python
2501_909509101 小时前
DAY 28
开发语言·python