1.1.2 运算符与表达式——AI教你学Django

1.1.2 运算符与表达式(Django 基础学习细节)

Python 的运算符和表达式是编程的基础,也是后续 Django 业务逻辑、模型处理等的常用工具。下面详细讲解各类运算符、常见表达式及优先级。

一、算术运算符

用于数值计算,适用于 int、float 类型:

运算符 作用 示例 结果
+ 加法 3 + 2 5
- 减法 3 - 2 1
* 乘法 3 * 2 6
/ 除法 3 / 2 1.5
// 整除 3 // 2 1
% 取余 3 % 2 1
** 幂运算 3 ** 2 9

示例:

python 复制代码
a, b = 10, 3
print(a + b)   # 13
print(a - b)   # 7
print(a * b)   # 30
print(a / b)   # 3.333...
print(a // b)  # 3
print(a % b)   # 1
print(a ** b)  # 1000

二、关系运算符

用于比较两个值,返回布尔值(True/False):

运算符 作用 示例 结果
> 大于 3 > 2 True
< 小于 3 < 2 False
>= 大于等于 3 >= 3 True
<= 小于等于 2 <= 3 True
== 等于 3 == 2 False
!= 不等于 3 != 2 True

示例:

python 复制代码
score = 85
print(score >= 60)  # True
print(score == 100) # False

三、逻辑运算符

用于连接或反转布尔值:

运算符 作用 示例 结果
and True and False False
or True or False True
not not True False

示例:

python 复制代码
a, b = True, False
print(a and b)  # False
print(a or b)   # True
print(not a)    # False

age = 18
is_student = True
print(age >= 18 and is_student)  # True

四、位运算符

用于二进制操作,常用于底层编程:

运算符 作用 示例 结果
& 按位与 5 & 3 1
` ` 按位或 `5
^ 按位异或 5 ^ 3 6
~ 按位取反 ~5 -6
<< 左移 5 << 1 10
>> 右移 5 >> 1 2

示例:

python 复制代码
x, y = 5, 3
print(x & y)   # 1   二进制: 101 & 011 = 001
print(x | y)   # 7   二进制: 101 | 011 = 111
print(x ^ y)   # 6   二进制: 101 ^ 011 = 110
print(~x)      # -6  取反
print(x << 1)  # 10  左移一位
print(x >> 1)  # 2   右移一位

五、成员运算符

用于判断某元素是否在序列(字符串、列表、元组、字典、集合)中:

运算符 作用 示例 结果
in 在...中 'a' in 'abc' True
not in 不在...中 1 not in [2,3] True

示例:

python 复制代码
lst = [1, 2, 3]
print(2 in lst)      # True
print(4 not in lst)  # True

text = "Django"
print("j" in text)   # True

六、身份运算符

用于判断两个变量是否引用同一对象:

运算符 作用 示例 结果
is 是同一对象 a is b True/False
is not 不是同一对象 a is not b True/False

示例:

python 复制代码
a = [1,2]
b = a
c = [1,2]
print(a is b)      # True
print(a is c)      # False
print(a == c)      # True(值相等,但不是同一对象)

七、表达式优先级

Python 表达式有严格的优先级,影响计算顺序:

  1. 括号 () 最优先
  2. 幂运算 **
  3. 正负号 +x, -x
  4. 乘除、整除、取余 *, /, //, %
  5. 加减 +, -
  6. 位运算符 <<, >>, &, |, ^
  7. 关系运算符 >, <, >=, <=, ==, !=
  8. 成员、身份运算符 in, not in, is, is not
  9. 逻辑运算符 not, and, or

示例:

python 复制代码
result = 2 + 3 * 4    # 2 + (3 * 4) = 14
result = (2 + 3) * 4  # (2 + 3) * 4 = 20
result = 2 ** 3 ** 2  # 2 ** (3 ** 2) = 2 ** 9 = 512
result = not 3 > 5 or 2 < 4  # not False or True = True

可用括号强制优先级,建议在复杂表达式中多用括号提升可读性。

八、实用小结

  • 掌握各类运算符,为后续条件判断、循环、数据处理和 Django 业务逻辑打下坚实基础。
  • 理解优先级,避免因顺序错误导致结果异常。
  • 多用括号确保表达式计算顺序正确、代码可读性高。
相关推荐
iFeng的小屋5 分钟前
【2026年新版】Python根据小红书关键词爬取所有笔记数据
笔记·爬虫·python
m0_561359676 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
LeonDL1687 分钟前
基于YOLO11深度学习的衣物识别系统【Python源码+Pyqt5界面+数据集+安装使用教程+训练代码】【附下载链接】
人工智能·python·pyqt5·yolo数据集·yolo11数据集·yolo11深度学习·衣物识别系统
傻啦嘿哟15 分钟前
Python操作PDF页面详解:删除指定页的完整方案
开发语言·python·pdf
serve the people19 分钟前
python环境搭建 (十三) tenacity重试库
服务器·python·php
ASS-ASH19 分钟前
AI时代之向量数据库概览
数据库·人工智能·python·llm·embedding·向量数据库·vlm
乔江seven1 小时前
【Flask 进阶】3 从同步到异步:基于 Redis 任务队列解决 API 高并发与长耗时任务阻塞
redis·python·flask
pchaoda1 小时前
基本面因子计算入门
python·matplotlib·量化
Wpa.wk1 小时前
接口自动化测试 - 请求构造和响应断言 -Rest-assure
开发语言·python·测试工具·接口自动化
岱宗夫up1 小时前
机器学习:标准化流模型(NF)
人工智能·python·机器学习·生成对抗网络