算术运算符
// % **
比较运算符
== 判断值是否相等
!= 值不等于
赋值运算符
=
增量赋值(偷懒)
n = 666
n += 1 n = n + 1
n -= 1 n = n - 1
n *= 1 n = n * 1
n /= 1 n = n / 1
链式赋值(偷懒)
x = 666
y = x
z = y
x = y = z = 666
交叉赋值(笔试题)
m = 10
n = 999
方式1 利用中间变量
tmp = m
m = n
n = tmp
print(m, n) 99910
方式2 交叉赋值
m, n = n, m
print(m, n) 99910
解压赋值
name_list = ['jason', 'kevin', 'tony', 'jack']
name1 = name_list[0]
name2 = name_list[1]
name3 = name_list[2]
name4 = name_list[3]
解压赋值用法
name1, name2, name3, name4 = name_list 左右两边个数相等
name1, name2, name3 = name_list 少一个不行 False
name1, name2, name3, name4, name5 = name_list 多一个也不行 Ture
如果列表里的元素很多,这样用也很麻烦,下面就有更好的方法来取列表里的值
进阶用法:可以打破上述规律 特殊符号 *号
name1, *_, name2 = name_list
print(name1, _, name2) jason ['kevin', 'tony'] jack
'''
*号可以接受多余的元素 组织成列表赋值给后面的变量名
下划线单独作为变量名 通常表达的意思指向的值没有啥用,也可以用其他变量表示,比如*other
'''
逻辑运算符
在python逻辑运算符就三个
and 与
用于连接多个条件并且多个条件必须都成立才可以
or 或
用于连接多个条件并且多个条件只要有一个成立即可
not 非
取反
print(2 > 1and1 != 1andTrueand3 > 2)
print(2 > 1or1 != 1orTrueor3 > 2)
print(notTrue)
布尔值为False的有:
0,None,'',[],{}...
其他情况一律为Trueand、or、not三者如果混用时,是存在优先级之分的,但在日常开发中我们无需记忆优先级,应该使用()来区分优先级、提升程序的可读性,把and两边用()括起来就好区分了。
>>> (3>4and4>3) or ((1==3and'x' == 'x') or3 >3)
False
但是我们在编写的时候应该人为的先规定好优先级。
成员运算
# 判断某个个体在不在某个群体内
关键字:in(在) notin(不在)
name_list = ['jason', 'kevin', 'tony', 'jackson']
# name = input('请输入您要查询的学生姓名>>>:')# print(name in name_list)# print(name not in name_list)# print('j' in 'jason j j j n n')print('jason'in {'username': 'jason', 'age': 18}) # False
字典默认暴露给外界的只有K
print('username'in {'username': 'jason', 'age': 18})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了