03. 运算符
一、运算符与表达式
运算符 就是对字面量或者变量进行操作的符号;表达式 是指用运算符把字面量或者变量连接起来,符合 Python 语法的式子。不同运算符连接的表达式体现的是不同类型的表达式;Python 中的运算符主要包括 算术运算符、赋值运算符、比较(关系)运算符、逻辑运算符 和 位运算符。
二、算数运算符
算术运算符是用来处理四则运算的符号。
算数运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 加 | 5 + 2 | 7 |
- | 减 | 5 - 2 | 3 |
* | 乘 | 5 * 2 | 10 |
/ | 除 | 5 / 2 | 2.5 |
% | 取模(取余) | 5 % 2 | 1 |
// | 取整除,返回商的整数部分 | 5 // 2 | 2 |
** | 幂,即返回 x 的 n 次方 | 5**2 | 25,即 $ 5^{2}$ |
a = 5
b = 2
print(a, "+", b, "=", (a + b)) # 5 + 2 = 7
print(a, "+", b, "=", (a - b)) # 5 - 2 = 3
print(a, "+", b, "=", (a * b)) # 5 * 2 = 10
print(a, "+", b, "=", (a / b)) # 5 / 2 = 2.5
print(a, "+", b, "=", (a % b)) # 5 /% 2 = 1
print(a, "+", b, "=", (a // b)) # 5 // 2 = 2
print(a, "+", b, "=", (a ** b)) # 5 ** 2 = 25a = "hello"
b = "world"
print(a, b, "=", (a + b)) # hello + world = helloworld
在代码中,如果有小数参与运算,其结果可能是不精确的;
% 取模运算结果的正负与被模数一致,即:a%b 等价于 a-a/b*b,取模结果的正负与 a 的正负一致;
字符串之间也可以进行加法运算。如果将两个字符串相加,则会自动将两个字符串拼接为一个字符串;
如果将字符串和数字相乘,则会对字符串进行复制操作,即把字符串重复指定的次数并返回,例如:“字符串”*m,表示将字符串复制 m 次;
使用除法运算符(/ 或 //)和取余运算符时,除数不能为 0,否则会报以下异常:ZeroDivisionError: division by zero
三、赋值运算符
赋值运算符 用于将右侧表达式的值赋值给左侧变量。
赋值运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
= | 赋值 | a = 10 | 将 10 赋值给变量a |
+= | 加后赋值 | a += b | 将 a + b 的值给 a |
-= | 减后赋值 | a -= b | 将 a - b 的值给 a |
*= | 乘后赋值 | a *= b | 将 a * b 的值给 a |
**= | 幂运算后赋值 | a **= b | 将 a b a^b ab 的值给 a |
/= | 除后赋值 | a /= b | 将 a / b 的值给 a |
//= | 整除后赋值 | a //= b | 将 a//b 的值给 a |
%= | 取余后赋值 | a %= b | 将 a % b 的值给 a |
# 多个变量赋值时使用逗号分隔
a,b = 10,5a += b
print("a = ",a) # 15
print("b = ",b) # 5
print()a = 10
b = 5a -= b
print("a = ",a) # 5
print("b = ",b) # 5
print()a = 10
b = 5a *= b
print("a = ",a) # 50
print("b = ",b) # 5
print()a = 10
b = 5a **= b
print("a = ",a) # 100000
print("b = ",b) # 5
print()a = 10
b = 5a /= b
print("a = ",a) # 2.0
print("b = ",b) # 5
print()a = 10
b = 5a //= b
print("a = ",a) # 2
print("b = ",b) # 5
print()a = 10
b = 5a %= b
print("a = ",a) # 0
print("b = ",b) # 5
四、关系运算符
关系运算符 也被称为 比较运算符;它用于表达式的 比较,并返回一个 真值 或 假值。
关系运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 比较两个对象的值是否相等 | 4 == 3 | False |
!= | 比较两个对象的值是否不相等 | 4 != 3 | True |
< | 比较左侧值是否小于右侧值 | 4 < 3 | False |
> | 比较左侧值是否大于右侧值 | 4 > 3 | True |
<= | 比较左侧值是否小于等于右侧的值 | 4 <= 3 | True |
>= | 比较左侧值是否大于等于右侧的值 | 4 >= 3 | True |
a = 4
b = 3print(a, " == ", b, ": ", (a == b)) # False
print(a, " != ", b, ": ", (a != b)) # True
print(a, " < ", b, ": ", (a < b)) # False
print(a, " <= ", b, ": ", (a <= b)) # False
print(a, " > ", b, ": ", (a > b)) # True
print(a, " >= ", b, ": ", (a >= b)) # Truea = "1"
b = "2"
print(a, " < ", b, ": ", (a < b)) # True a = "abc"
b = "ab"
print(a, " > ", b, ": ", (a > b)) # Truea = 1
b = True
print(a, " == ", b, ": ", (a == b)) # True
在 Python 中,关系运算符可以连的使用。
result = 1 < 2 < 3 # 相当于 1 < 2 and 2 < 3
print(result)result = 10 < 20 > 15 # 相当于 10 < 20 and 20 > 15
print(result)
在 Python 中可以对字符串进行大于(等于)或小于(等于)的运算,当对字符串进行比较时,实际上比较的是字符串的 Unicode 编码,比较两个字符串的 Unicode 编码时,是逐位比较的;
如果不希望比较两个字符串的 Unicode 编码,则需要将其转换为数字然后进行再进行比较;
相等和不等比较的是对象的值,而不是 id
五、逻辑运算符
逻辑运算符 用于根据表达式的值返回 真值 或 假值。对于非布尔值进行逻辑运算,会将数据转换为布尔值,然后再进行逻辑运算。
在 Python 中,所有的对象都可以进行真值测试,其中只有下面列出的几种情况得到的值为假。
- False 或 None
- 数值中的零,包括 0、0.0、虚数0
- 空序列,包括 字符串、空元组、空列表、空字典
- 自定义对象的实例,该对象的
__bool__
方法返回 False 或者__len__
方法返回 0
逻辑运算符 | 功能 |
---|---|
and | 逻辑与,全真为真,有假为假 |
or | 逻辑或,有真为真,全假为假 |
not | 逻辑非,非假为真,非真为假 |
运算结果:
a | b | a and b | a or b | not a |
---|---|---|---|---|
True | True | True | True | False |
True | False | False | True | False |
Flase | True | False | True | True |
False | False | False | False | True |
a = True
b = True
c = False
d = Falseprint(a, " and ", b, ": ", (a and b)) # True
print(a, " and ", c, ": ", (a and c)) # False
print(c, " and ", d, ": ", (c and d)) # False
print()print(a, " or ", b, ": ", (a or b)) # True
print(a, " or ", c, ": ", (a or c)) # True
print(c, " or ", d, ": ", (c or d)) # False
print()print("not ", a, ": ", (not a)) # False
print("not ", c, ": ", (not c)) # True
print()# 对于非布尔值进行逻辑运算,会先将数据转化为布尔值,然后再进行逻辑运算
a = 1
print("not ", a, ": ", (not a)) # False
在 Python 中 与运算 和 或运算 都具有短路效果,即当左边的表达式能确定最终结果时,那么右边就不会参与运算了;
- 与运算符;与运算是找 False的,如果第一个值为 False,则不再看第二个值。
- 或运算符:或运算是找 True 的,如果第一个值为 True,则不再看第二个值。
print("与运算的短路运算")
True and print("我执行了")
False and print("我不会执行")
print()print("或运算的短路运算")
True or print("我不会执行")
False or print("我执行了")
当我们对非布尔值进行与或运算时,Python 会将其当作布尔值运算,最终会返回原值。与运算是找 False 的,如果第一个值是 False,则直接返回第一个值,否则返回第二个值。或运算是找 True 的,如果第一个值是 True,则直接返回第一个值,否则返回第二个值。
print("非布尔值的与运算")
# Ture and True
print("1 and 2: ", (1 and 2)) # 2
# True and False
print("1 and 0: ", (1 and 0)) # 0
# False and True
print("0 and 1: ", (0 and 1)) # 0
# False and False
print("0 and None: ", (0 and None)) # 0
print()print("非布尔值的或运算")
# Ture or True
print("1 or 2: ", (1 or 2)) # 1
# True or False
print("1 or 0: ", (1 or 0)) # 1
# False or True
print("0 or 1: ", (0 or 1)) # 1
# False or False
print("0 or None: ", (0 or None)) # None
六、身份运算符
身份运算符 | 功能 |
---|---|
is | 判断两个表示是否引用同一个对象,若引用的是同一个对象则返回 True,否则返回 False |
is not | 判断两个表示是否引用同一个对象,若引用的不是同一个对象则返回 True,否则返回 False |
a = 123
b = 123
c = -123
d = -123print("id(a): ",id(a))
print("id(b): ",id(b))
print("id(c): ",id(c))
print("id(d): ",id(d))
print(f"a = {a},b = {b},c = {c},d = {d}")
print()print("a is b: ", (a is b)) # True
print("a is c: ", (a is c)) # False
print()print("a is not b: ", (a is not b)) # False
print("a is not c: ", (a is not c)) # True
print()print("a is b: ",(a is b))
print("c is d: ",(c is d))
在 Python 解释器启动的那一刻开始,就会在内存中实现申请好一系列内存空间存放好常用的整数,范围为 [-5,256]。
如果用 Pycharm 等 IDE,会自动优化;
七、成员运算符
成员运算符 | 功能 |
---|---|
in | 在指定序列中找到值时返回 True,否则返回 False |
not in | 在指定序列中没有找到值时返回 True,否则返回 False |
a = "s"
b = "a"
c = "Sakura"print("a = ", a,", b = ", b,", c = ", c)
print()print("a in c: ", (a in c)) # False
print("a not in c: ", (a not in c)) # True
print()print("b in c: ", (b in c)) # True
print("b not in c: ", (b not in c)) # False
八、位运算符
位运算符是直接对整数的二进制进行的运算; 所有数字在计算机底层都以二进制形式执行;所有的整数值底层都以补码的方式存储;
- 正数:三码合一,符号位为 0;
- 负数:符号位为 1
- 原码:直接将数值转成二进制数,最高位是符号位;
- 反码:对原码按位取反,符号位不变;
- 补码:其反码加 1;
位运算符 | 运算 | 范例 |
---|---|---|
<< | 左移,空位补0,被移除的高位舍弃 | 3 << 2 = 12 |
>> | 右移,空位使用符号位填充,被移除的低位舍弃 | 3 >> 1 = 1 |
& | 与运算,二进制位进行与运算,全1为1,有0为0 | 6 & 3 = 2 |
| | 或运算,二进制位进行或运算,有1为1,全0为0 | 6| 3 = 7 |
^ | 异或运算,二进制位进行异或运算,相同为0,不同为1 | 6 ^ 3 = 5 |
~ | 按位取反,二进制位进行取反运算,非0为1,非1为0 | ~6 = -7 |
print("3 << 2: ", (3 << 2)) # 12
print("3 >> 1: ", (3 >> 1)) # 1
print("-3 >> 1: ", (-3 >> 1)) # -2
print("6 & 3: ", (6 & 3)) # 2
print("6 | 3: ", (6 | 3)) # 7
print("6 ^ 3: ", (6 ^ 3)) # 5
print("~6: ", (~6)) # -7
<<:在一定范围内,每向左移一位,相当于乘以2;
>>:在一定范围内,每向右移一位,相当于除以2;
九、三元运算符
三元运算符的格式如下:
语句1 if 条件表达式 else 语句2
它的执行流程如下:
- 条件运算符在执行时,会先对条件表达式进行求值判断
- 如果判断结果为 True,则执行语句1,并返回执行结果
- 如果判断结果为 False,则执行语句2,并返回执行结果
num = int(input("请输入一个数:"))
print("你输入的数比10大") if num > 10 else print("你输入的数不大于10")a = 10
b = 20max = a if a > b else b
print(max)
三元运算符一定可以改成 if-else 语句,反之不成立;
如果程序既可以使用三元运算符又可以使用 if-else 语句,优先使用三元运算符;
十、运算符的优先级
我们可以使用小括号来提升运算符的优先级;
优先级 | 运算符 | 名称或含义 | 使用形式 | 结合方向 | 说明 |
---|---|---|---|---|---|
1 | (expressions...) | 圆括号 | (表达式) | 左到右 | |
[expressions...] | 列表 | [表达式] | 左到右 | ||
{key:value} | 字典 | {键:值} | 左到右 | ||
{expressions...} | 集合 | {表达式} | 左到右 | ||
2 | [index] | 索引 | [常量] | 左到右 | |
[start:end:step] | 切片 | [起始索引:结束索引:步长] | 左到右 | ||
x(arguments...) | 方法调用 | 方法名(形参列表) | 左到右 | ||
x.attribute | 属性访问 | 对象.属性 | 左到右 | ||
3 | ** | 乘方 | 表达式**表达式 | 左到右 | |
4 | + | 正号运算符 | +表达式 | 右到左 | 单目运算符 |
- | 负号运算符 | -表达式 | 单目运算符 | ||
~ | 按位取反 | ~表达式 | 左到右 | ||
5 | * | 乘 | 表达式 * 表达式 | 左到右 | 双目运算符 |
/ | 除 | 表达式 / 表达式 | 双目运算符 | ||
// | 整除 | 表达式 // 表达式 | 双目运算符 | ||
% | 取余 | 表达式 % 表达式 | 双目运算符 | ||
6 | + | 加 | 表达式 + 表达式 | 左到右 | 双目运算符 |
- | 减 | 表达式 - 表达式 | 双目运算符 | ||
7 | << | 左移 | 变量 << 表达式 | 左到右 | 双目运算符 |
>> | 右移 | 变量 >> 表达式 | 双目运算符 | ||
8 | & | 按位与 | 表达式 & 表达式 | 左到右 | 双目运算符 |
9 | ^ | 按位异或 | 表达式 ^ 表达式 | 左到右 | 双目运算符 |
10 | | | 按位或 | 表达式 | 表达式 | 左到右 | 双目运算符 |
11 | > | 大于 | 表达式 > 表达式 | 左到右 | 双目运算符 |
>= | 大于等于 | 表达式 >= 表达式 | 双目运算符 | ||
< | 小于 | 表达式 < 表达式 | 双目运算符 | ||
<= | 小于等于 | 表达式 <= 表达式 | 双目运算符 | ||
== | 等于 | 表达式 == 表达式 | 双目运算符 | ||
!= | 不等于 | 表达式 != 表达式 | 双目运算符 | ||
is | is 运算符 | 变量 is 变量 | 左到右 | 双目运算符 | |
is not | is not 运算符 | 变量 is not 变量 | 双目运算符 | ||
in | in 运算符 | 元素 in 序列 | 左到右 | 双目运算符 | |
not in | not in 运算符 | 元素 not in 序列 | 双目运算符 | ||
12 | not | 逻辑非 | not 表达式 | 左到右 | 单目运算符 |
13 | and | 逻辑与 | 表达式 and 表达式 | 左到右 | 单目运算符 |
14 | or | 逻辑与 | 表达式 and 表达式 | 左到右 | 单目运算符 |
15 | if-else | 三元表达式 | 语句1 if 条件表达式 else 语句2 | ||
16 | = | 赋值运算符 | 变量=表达式 | 右到左 | |
/= | 除后赋值 | 变量/=表达式 | |||
*= | 乘后赋值 | 变量*=表达式 | |||
%= | 取模后赋值 | 变量%=表达式 | |||
+= | 加后赋值 | 变量+=表达式 | |||
-= | 减后赋值 | 变量-=表达式 | |||
<<= | 左移后赋值 | 变量<<=表达式 | |||
>>= | 右移后赋值 | 变量>>=表达式 | |||
&= | 按位与后赋值 | 变量&=表达式 | |||
^= | 按位异或后赋值 | 变量^=表达式 | |||
|= | 按位或后赋值 | 变量|=表达式 |
相关文章:

03. 运算符
一、运算符与表达式 运算符 就是对字面量或者变量进行操作的符号;表达式 是指用运算符把字面量或者变量连接起来,符合 Python 语法的式子。不同运算符连接的表达式体现的是不同类型的表达式;Python 中的运算符主要包括 算术运算符、赋值运算符…...

【最优清零方案——贪心+滑动窗口+线段树】
题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; const int N 1e6 10; int a[N]; struct node {int l, r;int m, p, lazy; } tr[4 * N]; void pushup(node &u, node &l, node &r) {if (l.m r.m){u.m l.m;u.p max(l.p, r.…...

一个点绕任意点旋转后的点的坐标
在平面坐标上,任意点P(x1,y1),绕一个坐标点Q(x2,y2)逆时针旋转θ角度后,新的坐标设为(x, y)的计算公式: x (x1 - x2)*cos(θ) - (y1 - y2)*sin(θ) x2 ; y (x1 - x2)*sin(θ) (y1 - y2)*cos(θ) y2 ; 另一个场景应用,坐标轴绕…...

大数据面试题每日练习--HDFS是如何工作的?
HDFS(Hadoop Distributed File System)是一个分布式文件系统,设计用于存储非常大的文件。它的主要工作原理如下: NameNode:管理文件系统的命名空间,维护文件目录树和文件元数据信息。NameNode记录每个文件…...

Python的3D可视化库 - vedo (2)visual子模块 基本可视化行为
文章目录 1. visual模块的继承关系2. 基类CommonVisual的方法2.1 获取对象信息2.1.1 对象本身信息2.1.2 对象的查找表2.1.3 对象标量范围2.1.4 对象缩略图 2.2 呈现对象2.2.1 在窗口显示1.2.2 对象可见性 2.2.3 对象颜色2.2.4 对象透明度 2.3 添加标度条2.3.1 2D标度条2.3.2 3D…...

Java AIO(NIO.2)
Java AIO(Asynchronous I/O,异步I/O),也被称为NIO.2,是Java平台提供的一种处理异步输入/输出操作的机制。作为Java NIO(New I/O)的扩展,AIO引入了一些新的API和特性,旨在…...

Flink 常用问题及常用配置(有用)
一、Flink 常用问题及常用配置 参数 示例 说明 execution.checkpointing.interval 3min Checkpoint 触发间隔 state.backend rocksdb / filesystem 用于设置statebackend类型, 默认会以内存为statebackend(无法支持大状态) taskmanager.memory.jvm-overhead.max 204…...

RocketMQ: 消息过滤,通信组件,服务发现
消息过滤 1 ) 简单消息过滤 /*** 订阅指定topic下tags分别等于 TagA 或 TagC 或 TagD */consumer.subscribe("TopicTest1", "TagA || TagC || TagD");如以上代码所示,简单消息过滤通过指定多个 Tag 来过滤消息,过滤的动作在服务器进…...

linux ubuntu的脚本知
目录 一、变量的引用 二、判断指定的文件是否存在 三、判断目录是否存在 四、判断最近一次命令执行是否成功 五、一些比较符号 六、"文件"的读取和写入 七、echo打印输出 八、ubuntu切换到root用户 N、其它可以参考的网址 脚本功能强大,用起来也…...

HTTP有哪些风险?是怎么解决的?
一、风险 HTTP是通过明文传输的,存在窃听风险、篡改风险以及冒充风险。 二、如何解决 HTTPS在HTTP的下层加了一个SSL/TLS层,保证了安全,通过混合加密解决窃听风险、数字签名解决篡改风险、数字证书解决冒充风险。 (1࿰…...

3.12MayBeSomeLinearAlgebra
X是M*(D1),XT为(D1)*M Ω是一行D1列,X乘以欧米噶是M行D1列 行是说样本个数,列是特征数量 如果是小样本,那么可能会出现特征数量大于样本个数 如果MD*DM就是M*M,...

学习日志015--python单链表
创建 class Node:def __init__(self,data):# 数据域self.data data# 链接域self.next Noneclass LinkList:def __init__(self,):# 初始化头节点self.head None# 记录链表的长度self.size 0 增加 #头插def insert_head(self,value):# 创建新节点node Node(value)q self…...

如何在Windows右键新建菜单中添加自定义项
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\.py] "Python.File"[HKEY_CLASSES_ROOT\.py\ShellNew] "NullFile"""[HKEY_CLASSES_ROOT\Python.File] "FriendlyTypeName""文本.py"[HKEY_CLASSES_ROOT\Python.Fil…...

Spring Boot 3.0废弃了JavaEE,改用了Jakarta EE
Spring Boot 3.0废弃了JavaEE,改用了Jakarta EE 历史背景 javax变成Jakarta的主要原因是因为Java EE项目从Oracle转移到了Eclipse Foundation,并改名为Jakarta EE。 JavaEE是从Java 1.2版本开始推出的Java企业级开发平台,最初的名称是J2EE(J…...

pdf文档动态插入文字水印,45度角,旋转倾斜,位于文档中央,多行水印可插入中文
一行水印 /*** param inputFile 你的PDF文件地址* param outputFile 添加水印后生成PDF存放的地址* param waterMarkName 你的水印* return*/public static boolean waterMark(String inputFile,String outputFile, String waterMarkName){try {PdfReader reader new PdfRead…...

[ 渗透测试面试篇-2 ] 针对大规模资产的攻击思路
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

深入解析 Web 应用中的 CHIPS(Partitioned Cookie Attribute)
深入解析 Web 应用中的 CHIPS(Partitioned Cookie Attribute) 最新发现flask3.1.0 的版本引入了新的特性:对CHIPS的支持。不少同学对这个可能有点陌生,本文带大家了解一下。 为了在隐私保护和功能需求之间取得平衡,Goo…...

从搭建uni-app+vue3工程开始
技术栈 uni-app、vue3、typescript、vite、sass、uview-plus、pinia 一、项目搭建 1、创建以 typescript 开发的工程 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project2、安装sass npm install -D sass// 安装sass-loader,注意需要版本10,…...

归并排序与逆序对问题(C语言版)
一、引言 归并排序是一种高效且稳定的排序方法,而逆序对问题是算法领域的一个经典问题,本文教大家如何实现归并排序,以及如何使用归并排序去结果逆序对问题 二、归并排序 归并排序思想 分解:将待排序的数组分成两半,…...

网络爬虫总结与未来方向
通过深入学习和实际操作,网络爬虫技术从基础到进阶得以系统掌握。本节将全面总结关键内容,并结合前沿技术趋势与最新资料,为开发者提供实用性强的深度思考和方案建议。 1. 网络爬虫技术发展趋势 1.1 趋势一:高性能分布式爬虫 随…...

C++ 核心数据结构:Stack 与 Queue 类深度解析
🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 目录 💯前言 💯Stack 类 (一)Stack 类的概念与特点 (二&#x…...

Python枚举类详解:用enum模块高效管理常量数据
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 在编程中,常量的管理是一个关键环节,合理的管理常量可以提高代码的可读性和可维护性。Python的enum模块提供了一种有效的方式来组织常量数据,通过枚举类(Enum)将相关的常量值集合在一起,使代码更具结…...

企业OA管理系统:Spring Boot技术深度探索
4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…...

汽车免拆诊断案例 | 2012款路虎揽胜运动版柴油车加速无力
故障现象 一辆2012款路虎揽胜运动版车,搭载3.0T柴油发动机(型号为306DT),累计行驶里程约为10.2万km。车主进厂反映,车辆行驶中加速无力,且发动机故障灯异常点亮。 故障诊断 接车后试车,发动…...

uniapp接入高德地图
下面代码兼容安卓APP和H5 高德地图官网:我的应用 | 高德控制台 ,绑定服务选择《Web端(JS API)》 /utils/map.js 需要设置你自己的key和安全密钥 export function myAMap() {return new Promise(function(resolve, reject) {if (typeof window.onLoadM…...

(UI自动化测试)web自动化测试
web自动化测试 UI自动化测试介绍 自动化测试理论: 图片上的文字等等不能做测试,只能发现固定的bug 工具选择及介绍 浏览器驱动:找元素--核心:驱动(操作元素)--通过代码...

【es6进阶】如何使用Proxy实现自己的观察者模式
观察者模式(Observer mode)指的是函数自动观察数据对象,一旦对象有变化,函数就会自动执行。这里,我们是使用es6的proxy及reflect来实现这个效果。 实现效果 业务分析 源数据 const object2 {name: "张三"…...

住宅IP怎么在指纹浏览器设置运营矩阵账号
矩阵账号的运营已经成为了许多企业和个人推广策略中的重要一环。通过构建和管理多个社交媒体或电商平台的账号,可以有效地扩大品牌影响力,提高市场覆盖率。然而,随着平台对账号关联的限制越来越严格,如何安全、有效地运营这些矩阵…...

表格数据处理中大语言模型的微调优化策略研究
论文地址 Research on Fine-Tuning Optimization Strategies for Large Language Models in Tabular Data Processing 论文主要内容 这篇论文的主要内容是研究大型语言模型(LLMs)在处理表格数据时的微调优化策略。具体来说,论文探讨了以下…...

CentOS7 如何查看kafka topic中的数据
1. 确保 Kafka 服务运行 先检查 Kafka 和 Zookeeper 是否正在运行: systemctl status kafka systemctl status zookeeper 如果没有启动,先启动服务: systemctl start zookeeper systemctl start kafka 2. 进入 Kafka 安装目录 通常 …...