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

image

not ( a >= x or x>= b)
not (a>=x) and not (x>=b)
a<x and x < b

复合赋值运算符:

定义: 复合赋值运算符是将赋值运算符(=)与其他运算符结合起来的运算符,可将运算结果直接赋值给变量,让代码更简洁。以下是常见的复合赋值运算符
  1. 加法赋值(+=):如a += b,等价于a = a + b ,例如x = 5; x += 3,执行后x的值为8
  2. 减法赋值(-=):如a -= b,等价于a = a - b ,例如y = 10; y -= 4,执行后y的值为6
  3. 乘法赋值(*=):如a *= b,等价于a = a * b ,例如z = 2; z *= 5,执行后z的值为10
  4. 除法赋值(/=):如a /= b,等价于a = a / b,结果为浮点数。例如m = 15; m /= 3,执行后m的值为5.0
  5. 整除赋值(//=):如a //= b,等价于a = a // b,会舍弃小数部分。例如n = 10; n //= 3,执行后n的值为3
  6. 取余赋值(%=):如a %= b,等价于a = a % b,返回除法的余数。例如p = 10; p %= 3,执行后p的值为1
  7. 幂赋值(=)**:如a **= b,等价于a = a ** b,计算ab次幂。例如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]

使用时需注意:

  • 类型匹配:运算时要保证变量和值的数据类型兼容,如不能直接将字符串与数字用+=相加。
  • 除法运算差异/=运算结果是浮点数;若要整除结果,需用//=
posted @ 2025-03-12 22:18  kkman2000  阅读(45)  评论(0)    收藏  举报