2025.3.12-python-笔记 - TO BUAA STU
2025.03.12 总结:
逻辑运算(not,and,or) 优先级以及 逻辑运算计算:
not and or 优先级 , not > and > or
逻辑运算(not,and,or) 逻辑:
and 全为真,结果为真;
or 一个为真,结果为真;
not True为假
真值表参看如下:
| X | Y | and | or |
|---|---|---|---|
| False | False | False | False |
| True | False | False | True (一个为真,结果为真) |
| False | True | False | True (一个为真,结果为真) |
| True | True | True(and运算:全为真,结果为真) | True (or运算:一个为真,结果为真) |
从集合来讲,and 表示交集, or表示并集,not是补集
x > 2 and x < 5
(2,5)
not, and, or两目逻辑运算,两边都是逻辑表达式
n=5 是赋值运算,
n==5是一个逻辑表达式(判断真假表达式)
例子: (not True) or True and (not True)
1、(not True) or True and (not True)
2、 False or (True and False)
3、 False or False
4、 False
数据类型,精度提升:
bool(1个字节), int(4个字节) ,float (8个字节)
运算中只要有一个高精度的,即会进行精度提升
a = 49**0.5 -54%2**3
print(a)
print(type(a))
b = (a+2)**(a+1)
print(b)
print(type(b))
运行结果如下:
1.0
<class 'float'>
9.0
<class 'float'>
2个变量交换值,编程模版
#变量v1
v1 = 1
#变量v2
v2 = 2
#变量1赋给临时变量(temp)
temp = v1 # 此时temp =1
#变量v2赋值给变量v1
v1 = v2 # 此时 v1= 2
#临时变量(temp)赋值给变量v2
v2 = temp #此时 v2 =1
常用运算符,区别与比较:
除以(/)与整除(//):
/ 除以是小数运算,结果位小数。 特别注意: 12/3 = 4.0
// 整除,是整数
a = 12/3*5
print(type(a))
输出为: class < ‘float’ >
等于(=)与 值大小判断(==):
python(包括: java,C++,C) 注意区别:
= 赋值 例如: a=3
== 表示逻辑判断相等 print(3==2)
常见错误❎,类别:
SyntaxError: cannot assign to literal (语法出错)
例子: 3 = 2
ZeroDivisionError: division by zero (运算出错)
例子:5/0
表达式中,括号的运用:
在python中,[] 、{} 数据结构,列表、字典
正确的表达式: ((5+(44-33))**(2-1))
逻辑运算,转换:
依据德摩根定律: 命题: 非(A 或 B)等价于(非 A)且(非 B) ¬(P∨Q)⟺(¬P)∧(¬Q)
更多参考:https://supercodepower.com/De-Morgan-laws

not ( a >= x or x>= b)
not (a>=x) and not (x>=b)
a<x and x < b
复合赋值运算符:
定义: 复合赋值运算符是将赋值运算符(=)与其他运算符结合起来的运算符,可将运算结果直接赋值给变量,让代码更简洁。以下是常见的复合赋值运算符
- 加法赋值(+=):如
a += b,等价于a = a + b,例如x = 5; x += 3,执行后x的值为8。 - 减法赋值(-=):如
a -= b,等价于a = a - b,例如y = 10; y -= 4,执行后y的值为6。 - 乘法赋值(*=):如
a *= b,等价于a = a * b,例如z = 2; z *= 5,执行后z的值为10。 - 除法赋值(/=):如
a /= b,等价于a = a / b,结果为浮点数。例如m = 15; m /= 3,执行后m的值为5.0。 - 整除赋值(//=):如
a //= b,等价于a = a // b,会舍弃小数部分。例如n = 10; n //= 3,执行后n的值为3。 - 取余赋值(%=):如
a %= b,等价于a = a % b,返回除法的余数。例如p = 10; p %= 3,执行后p的值为1。 - 幂赋值(=)**:如
a **= b,等价于a = a ** b,计算a的b次幂。例如q = 2; q **= 3,执行后q的值为8。
复合赋值运算符不仅适用于数值类型,还可用于字符串、列表等数据类型:
- 字符串:
+=用于拼接字符串,*=用于重复字符串。例如str1 = "你好"; str1 += "世界";结果是你好世界;str2 = "哈"; str2 *= 3,结果是哈哈哈。 - 列表:
+=可扩展列表(类似extend方法) ,*=用于重复列表元素。例如list1 = [1, 2]; list1 += [3, 4],结果是[1, 2, 3, 4];list2 = [5, 6]; list2 *= 2,结果是[5, 6, 5, 6]。
使用时需注意:
- 类型匹配:运算时要保证变量和值的数据类型兼容,如不能直接将字符串与数字用
+=相加。 - 除法运算差异:
/=运算结果是浮点数;若要整除结果,需用//=。

浙公网安备 33010602011771号