当前位置: 首页 > news >正文

Python筑基之旅-运算符

目录

一、运算符

1、了解定义

2、理解意义

2-1、基本数据处理

2-2、条件判断

2-3、逻辑操作

2-4、赋值和更新

2-5、位操作

2-6、提高代码可读性

2-7、解决实际问题

2-8、学习其他编程语言的基础

3、探索方法

3-1、理解概念

3-2、练习基本运算

3-3、掌握优先级

3-4、阅读文档和教程

3-5、编写实际程序

3-6、参加编程社区

3-7、练习编程题

3-8、反思和总结

4、梳理分类

4-1、算术运算符

4-1-1、定义

4-1-2、分类

4-1-2-1、加法运算符(+)   

4-1-2-2、减法运算符(-)

4-1-2-3、乘法运算符(*)

4-1-2-4、除法运算符(/)

4-1-2-5、整除运算符(//)

4-1-2-6、取模运算符(%)

4-1-2-7、幂运算符(**或**=)

4-1-2-8、一元加号(+)

4-1-2-9、一元减号(-)

4-2、比较运算符

4-2-1、定义

4-2-2、分类

4-2-3、优先级

4-3、赋值运算符

4-3-1、定义

4-3-2、分类

4-3-3、示例

4-4、位运算符

4-4-1、定义

4-4-2、分类

4-4-2-1、位与(&)

4-4-2-2、位或(|)

4-4-2-3、位异或(^)

4-4-2-4、位取反(~)

4-4-2-5、左移(<<)

4-4-2-6、右移(>>)

4-4-3、优先级

4-5、逻辑运算符

4-5-1、定义

4-5-2、分类

4-5-2-1、逻辑与(and)

4-5-2-2、逻辑或(or)

4-5-2-3、逻辑非(not)

4-5-3、优先级

4-6、身份运算符

4-6-1、定义

4-6-2、分类

4-6-2-1、是(is)

4-6-2-2、不是(is not)

4-6-3、优先级

4-7、成员运算符

4-7-1、定义

4-7-2、分类

4-7-2-1、在...内(in)

4-7-2-2、不在...内(not in)

4-7-3、优先级

4-8、三元运算符

4-8-1、定义

4-8-2、语法

4-8-3、示例

5、明确优先级

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

一、运算符

1、了解定义

        Python中的运算符是用于执行各种算术或逻辑运算的符号,它们允许你对一个或多个值(或变量)进行运算,并返回一个新的值

2、理解意义

        学习Python中的运算符是非常重要的,因为它们构成了编程语言的基石,使得我们能够对数据进行各种操作、比较和逻辑判断

2-1、基本数据处理

        运算符允许我们执行基本的数学运算,如加、减、乘、除等,这对于处理数字数据至关重要。

2-2、条件判断

        比较运算符(如等于、不等于、大于、小于等)使我们能够比较两个值的大小或关系,从而进行条件判断,这对于编写条件语句(如if、elif、else)和循环结构(如for、while)非常重要。

2-3、逻辑操作

        逻辑运算符(如and、or、not)允许我们组合多个条件判断,以实现更复杂的逻辑操作,这对于编写健壮、灵活的代码至关重要。

2-4、赋值和更新

        赋值运算符(如=、+=、-=等)使我们能够将计算结果存储在变量中,以便后续使用或更新,这是编程中不可或缺的一部分。

2-5、位操作

        位运算符(如&、|、^、<<、>>)允许我们直接操作数据的二进制表示,这在处理底层数据或优化性能时非常有用。

2-6、提高代码可读性

        掌握运算符的优先级和用法有助于编写更易于阅读和理解的代码,当其他人(或未来的你)查看你的代码时,能够迅速理解每个表达式的作用和目的。

2-7、解决实际问题

        通过运用各种运算符,我们可以编写能够解决实际问题的程序,无论是简单的数学计算、数据处理任务还是复杂的逻辑判断,运算符都是实现这些功能的关键。

2-8、学习其他编程语言的基础

        虽然不同编程语言的语法和特性可能有所不同,但运算符的基本概念和用法通常是相似的,因此,学习Python中的运算符可以为学习其他编程语言打下坚实的基础。

        总之,学习Python中的运算符是掌握编程语言基础的重要一步,通过深入了解各种运算符的特性和用法,我们可以编写出更高效、更可靠的代码,并解决各种实际问题。

3、探索方法

        要学好Python中的运算符,你可以遵循以下几个步骤和策略:

3-1、理解概念

        首先,你需要理解运算符的基本概念、种类和用途,这包括算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符等,了解它们的功能和用法是学好运算符的基础。

3-2、练习基本运算

        通过编写简单的Python代码来练习各种运算符的使用。例如,你可以编写程序来执行加、减、乘、除等算术运算,或使用比较运算符来进行条件判断,这样的练习有助于你熟悉运算符的语法和用法。

3-3、掌握优先级

        了解运算符的优先级规则对于编写正确的代码至关重要,你需要知道哪些运算符会先被计算,哪些运算符的优先级较低,通过练习包含多个运算符的表达式,你可以加深对优先级规则的理解。

3-4、阅读文档和教程

        Python的官方文档和在线教程是宝贵的学习资源,阅读相关文档和教程可以深入了解运算符的详细用法、注意事项和最佳实践,这些资源通常包含示例代码和解释,有助于你更好地理解和应用运算符。

3-5、编写实际程序

        将所学的运算符知识应用到实际编程项目中,通过编写具有实际功能的程序,你可以更深入地理解运算符的用途和重要性;同时,这也可以帮助你发现问题并加深对运算符的理解。

3-6、参加编程社区

        加入Python编程社区,与其他编程爱好者交流和分享经验。在社区中,你可以提出问题、寻求帮助并分享你的解决方案,与其他人的互动可以帮助你更快地解决问题并提高编程能力。

3-7、练习编程题

        通过解决编程练习题来巩固所学的运算符知识,这些题目可以来自在线编程平台、书籍或课程,通过解决不同难度和类型的题目,你可以提高你的编程技能和解决问题的能力。

3-8、反思和总结

        在学习过程中,不断反思和总结自己的学习经验,思考你在学习运算符时遇到的困难、解决问题的方法以及你的收获,这样的反思和总结有助于你更好地理解学习内容并提高学习效率。

        总之,学好Python中的运算符需要理解概念、练习基本运算、掌握优先级、阅读文档和教程、编写实际程序、参加编程社区、练习编程题以及反思和总结,通过不断努力和实践,你可以逐步掌握Python中的运算符并成为一名优秀的Python程序员。

4、梳理分类

4-1、算术运算符
4-1-1、定义

        在Python中,算术运算符(Arithmetic Operators)是用于执行数学运算的符号

4-1-2、分类
4-1-2-1、加法运算符(+)   
# 1-1、加法运算符(+)
# 用于将两个或多个数相加
a = 5
b = 3
c = a + b
print(c) # 输出:8
4-1-2-2、减法运算符(-)
# 1-2、减法运算符(-)
# 用于从一个数中减去另一个数。
a = 5
b = 3
c = a - b
print(c) # 输出:2
4-1-2-3、乘法运算符(*)
# 1-3、乘法运算符(*)
# 用于将一个数与另一个数相乘
a = 5
b = 3
c = a * b
print(c) # 输出:15
4-1-2-4、除法运算符(/)
# 1-4、除法运算符(/)
# 用于将一个数除以另一个数,结果是一个浮点数(除非两个数都是整数并且结果也是整数,Python 3会返回浮点数)
a = 5
b = 3
c = a / b
print(c) # 输出:1.6666666666666667
print(type(c)) # 输出:<class 'float'>
d = 4
e = 2
f = d / e
print(f) # 输出:2.0
print(type(f)) # 输出:<class 'float'>
4-1-2-5、整除运算符(//)
# 1-5、整除运算符(//)
# 也称为地板除法,用于将一个数除以另一个数并返回商的整数部分(向下取整)
a = 5
b = 3
c = a // b
print(c) # 输出:1
print(type(c)) # 输出:<class 'int'>
4-1-2-6、取模运算符(%)
# 1-6、取模运算符(%)
# 用于计算两个数相除的余数
a = 5
b = 3
c = a % b
print(c) # 输出:2
4-1-2-7、幂运算符(**或**=)
# 1-7、幂运算符(**或**=)
# 用于计算一个数的幂(乘方),**=是幂运算符的赋值版本,它直接改变左侧变量的值
a = 5
b = 2
c = a ** b 
a **= 2
print(c) # 输出:25
print(a) # 输出:25
4-1-2-8、一元加号(+)
# 1-8、一元加号(+)
# 用于表示正数(尽管在大多数情况下是多余的)
a = +5
print(a > 0) # 输出:True
4-1-2-9、一元减号(-)
# 1-9、一元减号(-)
# 用于表示负数或取反
a = 5
b = -a
print(b) # 输出:-5
c = a + b
print(c) # 输出:0
4-1-3、优先级
# 1-10、算术运算符的优先级
# 在Python中,算术运算符的优先级遵循数学中的常规规则。以下是从高到低的算术运算符优先级列表:
# 1、幂(**或**=): 幂运算的优先级是最高的
print(2 ** 3 + 4)  # 输出 12,因为 2 ** 3 是 8,然后 8 + 4 是 12
# 2、正负号(+x, -x, +=, -=): 正负号(一元运算符)的优先级高于乘除
print(-3 * 2)  # 输出 -6,因为先计算负号
# 3、乘法(*或*=)、除法(/或/=)、整除(//或//=)和取模(%或%=): 乘、(整)除和取模运算的优先级相同,从左到右进行
print(3 * 4 / 2)  # 输出 6.0,因为先计算 3 * 4 得到 12,然后 12 / 2 得到 6.0
print(7 // 3)  # 输出 2,因为整除的结果是整数部分
# 4、加法(+或+=)和减法(-或-=): 加法和减法的优先级相同,从左到右进行
print(3 + 4 - 2)  # 输出 5,因为先计算 3 + 4 得到 7,然后 7 - 2 得到 5
# 如果在一个表达式中同时出现多个相同优先级的运算符,它们将按照从左到右的顺序进行计算(这称为左结合性)
# 可以使用括号来改变默认的优先级顺序,使得表达式按照你的意图进行计算。例如:
print(3 + 4 * 2)  # 输出 11,因为先计算 4 * 2 得到 8,然后 3 + 8 得到 11
print((3 + 4) * 2)  # 输出 14,因为括号改变了运算顺序
左结合性从左到右说明



1****=      
2+x-x+=-=    正负号(一元运算符)
3**=//=%%=////=乘法/除法/取模/整除
4++=--=    加法/减法
备注可以使用括号来改变默认的优先级顺序,使得表达式按照你的意图进行计算
4-2、比较运算符
4-2-1、定义

        在Python中,比较运算符(Comparison Operators)用于比较两个值之间关系的运算符

4-2-2、分类
4-2-2-1、等于(==)
# 2-1、等于(==)
# 判断两个对象是否相等
a = 5
b = 5
print(a == b) # 输出: True
4-2-2-2、不等于(!=)
# 2-2、不等于(!=)
# 判断两个对象是否不相等
a = 5
b = 3
print(a != b) # 输出: True
4-2-2-3、大于(>)
# 2-3、大于(>)
# 判断左边的值是否大于右边的值
a = 5
b = 3
print(a > b) # 输出: True
4-2-2-4、小于(<)
# 2-4、小于(<)
# 判断左边的值是否小于右边的值
a = 3
b = 5
print(a < b) # 输出: True
4-2-2-5、大于等于(>=)
# 2-5、大于等于(>=)
# 判断左边的值是否大于或等于右边的值
a = 5
b = 5
print(a >= b) # 输出: True
4-2-2-6、小于等于(<=)
# 2-6、小于等于(<=)
# 判断左边的值是否小于或等于右边的值
a = 3
b = 5
print(a <= b) # 输出: True
4-2-3、优先级

        在Python中,比较运算符(<<=>>=!===)的优先级是相同的。

# 2-7、比较运算符的优先级
# 以下是一个示例,说明比较运算符的优先级和左结合性:
a = 5
b = 3
c = 2
# 由于比较运算符具有相同的优先级和左结合性
# 这个表达式将首先计算 a > b,然后再与 c == 2 进行比较
result = (a > b) == (c == 2)
# 因为 a > b 是 True,c == 2 也是 True
# 所以 (True) == (True) 的结果是 True
print(result)  # 输出: True
# 如果我们改变括号的位置,比较的顺序会改变
# 但结果仍然相同,因为 a > b 和 c == 2 都是 True
result = a > (b == c)
# 但这里 b == c 是 False,所以 a > (False) 的结果是 True
print(result)  # 输出: True
result = (a > b) != c
# a > b 是 True,所以 True != 2 的结果是 True
print(result)  # 输出: True
4-3、赋值运算符
4-3-1、定义

        在Python中,赋值运算符(Assignment Operator)是用于将值或表达式的计算结果赋给变量的运算符

4-3-2、分类

        在大多数编程语言中,包括Python,赋值运算符就是=

4-3-3、示例
# 3-1、示例
# 简单的赋值
x = 10
# 赋值一个表达式的计算结果
y = x + 5  # y 的值现在是 15
# 赋值一个字符串
name = "Myelsa"
# 赋值一个列表
my_list = [1, 2, 3, 4, 5]
# 赋值一个字典
my_dict = {"key1": "value1", "key2": "value2"}
# 赋值并改变变量类型(在Python中是允许的)
print(type(x)) # 输出:<class 'int'>
x = "ten"  # 现在 x 是一个字符串
print(type(x)) # 输出:<class 'str'>
4-4、位运算符
4-4-1、定义

        在Python中,位运算符(Bitwise Operators)对整数在二进制位级别上进行操作的运算符

4-4-2、分类
4-4-2-1、位与(&)
# 4-1、位与(&)
# 对于每一对相应的二进制位,只有当两个二进制位都为1时,结果位才为1
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = a & b # 12 = 0000 1100
print(bin(c)) # 输出:0b1100,其中0b表示二进制数的前缀
4-4-2-2、位或(|)
# 4-2、位或(|)
# 对于每一对相应的二进制位,只要两个二进制位中有一个为1时,结果位就为1
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = a | b # 61 = 0011 1101
print(bin(c)) # 输出:0b111101,其中0b表示二进制数的前缀
4-4-2-3、位异或(^)
# 4-3、位异或(^)
# 对于每一对相应的二进制位,当两个二进制位相异时,结果位为1
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = a ^ b # 49 = 0011 0001
print(bin(c)) # 输出:0b110001,其中0b表示二进制数的前缀
4-4-2-4、位取反(~)
# 4-4、位取反(~)
# 对整数的二进制位取反。注意,位取反是相对于整数在计算机中表示的补码(two's complement)形式而言的。
# 对于非负数,最高位(符号位)是0;对于负数,最高位是1
a = 60 # 60 = 0011 1100
b = ~a # 结果是一个负数,具体值取决于你的系统和Python的位数(32位或64位)
print(bin(b)) # 输出:-0b111101,其中0b表示二进制数的前缀
4-4-2-5、左移(<<)
# 4-5、左移(<<)
# 将数字的位向左移动指定的位数,右边空出的位用0填充
a = 60 # 60 = 0011 1100
b = a << 2 # 240 = 1111 0000
print(bin(b)) # 输出:0b11110000,其中0b表示二进制数的前缀
4-4-2-6、右移(>>)
# 4-6、右移(>>)
# 将数字的位向右移动指定的位数
# 对于无符号整数,左边空出的位用0填充;对于有符号整数(如Python中的int),最高位(符号位)将用于确定结果的正负
a = 60 # 60 = 0011 1100
b = a >> 2 # 15 = 0000 1111
c = -24 # -24 = -0001 1000
d = c >> 2 # 6 = -0000 0110
print(bin(d)) # 输出:-0b110,其中0b表示二进制数的前缀
print(bin(b)) # 输出:0b1111,其中0b表示二进制数的前缀
4-4-3、优先级
左结合性从左到右说明



1~ 按位取反NOT(一元运算符)
2<<>>位移运算符
3& 按位与AND
4^ 按位异或XOR
5| 按位或OR
备注用括号可以改变默认的优先级顺序
4-5、逻辑运算符
4-5-1、定义

        在Python中,逻辑运算符(Logical Operators)是用于连接布尔值(True或False)或可以计算为布尔值的表达式,并根据这些值返回新的布尔值的运算符

4-5-2、分类
4-5-2-1、逻辑与(and)
# 5-1、逻辑与(and)
# 当且仅当两个操作数都为True时,and运算符返回True
# 如果两个操作数中有一个为False,则结果为False
result = True and True # 结果为 True
result = True and False # 结果为 False
4-5-2-2、逻辑或(or)
# 5-2、逻辑或(or)
# 当至少一个操作数为True时,or运算符返回True
# 如果两个操作数都为False,则结果为False
result = True or False # 结果为 True
result = False or False # 结果为 False
4-5-2-3、逻辑非(not)
# 5-3、逻辑非(not)
# not运算符用于对一个布尔值取反。
# 如果操作数为True,则not返回False;如果操作数为False,则not返回True
result = not True # 结果为 False
result = not False # 结果为 True
4-5-3、优先级



序号运算符说明
1not逻辑非
2and逻辑与
3or逻辑或
备注用括号可以改变默认的优先级顺序
4-6、身份运算符
4-6-1、定义

        在Python中,身份运算符(identity operators)用于比较两个对象的内存地址是否相同,即它们是否指向内存中的同一个对象的运算符

4-6-2、分类
4-6-2-1、是(is)
# 6-1、是(is)
# 如果两个标识符引用的是同一个对象,则返回True
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b)  # 输出:True,因为b是a的引用
print(a is c)  # 输出:False,虽然a和c的内容相同,但它们是不同的对象
4-6-2-2、不是(is not)
# 6-2、不是(is not)
# 如果两个标识符引用的不是同一个对象,则返回True
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is not b)  # 输出:False,因为b是a的引用,指向同一对象
print(a is not c)  # 输出:True,虽然a和c的内容相同,但它们是不同的对象
4-6-3、优先级

        在Python中,身份运算符isis not本身并没有内部的优先级之分,因为它们是单个的运算符,不是组合运算符

4-7、成员运算符
4-7-1、定义

        在Python中,成员运算符(Membership Operators)用于测试一个对象(通常是序列类型,如字符串、列表、元组或集合)是否包含另一个对象作为其子元素的运算符

4-7-2、分类
4-7-2-1、在...内(in)
# 7-1、在...内(in)
# 如果指定的对象存在于另一个对象(如列表、元组、字典、字符串或集合)中,则返回True
# 列表中的成员检查
my_list = [1, 2, 3, 4, 5]
print(3 in my_list)  # 输出:True
# 字符串中的成员检查
my_string = "hello world"
print('world' in my_string)  # 输出:True
# 字典中的成员检查(注意:这里检查的是键)
my_dict = {'name': 'Myelsa', 'age': 18}
print('name' in my_dict)  # 输出:True
# 集合中的成员检查
my_set = {1, 2, 3}
print(2 in my_set)  # 输出:True
4-7-2-2、不在...内(not in)
# 7-2、不在...内(not in)
# 如果指定的对象不存在于另一个对象中,则返回True
# 列表中的成员检查
my_list = [1, 2, 3, 4, 5]
print(6 not in my_list)  # 输出:True
# 字符串中的成员检查
my_string = "hello world"
print('world' not in my_string)  # 输出:False
# 字典中的成员检查(注意:这里检查的是键)
my_dict = {'name': 'Myelsa', 'age': 18}
print('name' not in my_dict)  # 输出:False
# 集合中的成员检查
my_set = {1, 2, 3}
print(2 not in my_set)  # 输出:False
4-7-3、优先级

        在Python中,成员运算符innot in本身并没有内部的优先级之分,因为它们是单个的运算符,不是组合运算符

4-8、三元运算符
4-8-1、定义

        在Python中,三元运算符(也称为条件表达式或条件运算符)是一种简洁的编写条件语句的方式,它允许你在一行代码中根据条件来返回两个值中的一个,由if...else...结构组成,但写法更加紧凑。

4-8-2、语法
# 8-1、语法:value_if_true if condition else value_if_false
# 8-2、说明:condition是一个表达式,其结果将被评估为True或False
#          如果condition为True,则整个表达式的结果将是value_if_true
#          如果condition为False,则结果将是value_if_false
4-8-3、示例
# 8-3、示例:
x = 10
y = "positive" if x > 0 else "non-positive"
print(y)  # 输出: "positive"
x = -5
y = "positive" if x > 0 else "non-positive"
print(y)  # 输出: "non-positive"

5、明确优先级

优先级序号中文说明运算符备注



01括号() 
02一元运算符+X,-X,~X,+=,-=+代表正号;-代表负号
03**,**= 
04乘法/(整)除法/取模*,*=,/,/=,//,//=,%,%= 
05加法/减法+,+=,-,-=+代表加号;-代表减号
06位运算符<<,>> 
07按位与运算符& 
08按位异或运算符^ 
09按位或运算符| 
10比较运算符<,<=,>,>=,!=,== 
11身份运算符is,is not 
12成员运算符in,not in 
13逻辑运算符not,and,or 
14赋值运算符= 

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

相关文章:

Python筑基之旅-运算符

目录 一、运算符 1、了解定义 2、理解意义 2-1、基本数据处理 2-2、条件判断 2-3、逻辑操作 2-4、赋值和更新 2-5、位操作 2-6、提高代码可读性 2-7、解决实际问题 2-8、学习其他编程语言的基础 3、探索方法 3-1、理解概念 3-2、练习基本运算 3-3、掌握优先级 …...

【Text2SQL】Spider 数据集

论文&#xff1a;Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQL Task ⭐⭐⭐⭐⭐ EMNLP 2018, arXiv:1809.08887 Dataset: spider GitHub: github.com/taoyds/spider 一、论文速读 本文提出了 Text2SQL 方向的…...

语雀——云知识库/笔记

对于日常进行学习/创作或是记录学习、工作内容与心得的群体来说&#xff0c;能够及时同步的云笔记应用有着广泛的应用场景。近期&#xff0c;我也探索了许多款不同的软件应用&#xff0c;今天来分享一款很有特点的应用——语雀。 语雀&#xff0c;为每一个人提供优秀的文档和知…...

Java学习:电影查询简单系统

1.创建一个movice的对象来存放电影 里面设置构造器&#xff08;有参和无参&#xff09; package com.movie;public class movice {//创建一个movice的对象存放电影private int id;private String name;private double price;private double score;private String diector;pri…...

在Mac电脑下怎么部署QAnything?

在Mac电脑下部署QAnything&#xff0c;可以选择使用纯Python环境进行部署&#xff0c;这种方式不依赖GPU&#xff0c;适合在Mac等笔记本电脑上运行。以下是基于QAnything的纯Python环境安装教程的步骤[18]&#xff1a; 安装要求 Python 3.10&#xff08;建议使用Anaconda3来管…...

单条16g和双条8g哪个好

单条16g和双条8g各有优劣,具体选择要根据个人需求和电脑配置来决定。 以下是一些参考信息: •单条16g内存的价格比双条8g内存的价格低,而且16g的内存容量大,一条内存十分的方便。 •两条8g内存可以组成双通道,电脑运行速度要快一些。 •对于普通使用电脑的人群与热衷于…...

Microsoft VBA Excel 去重小工具

问题简述 在本工作表中&#xff0c;A1:B3单元格样式如下&#xff0c;通过名称管理器B列的单元格被命名为"LinkFile"、“SheetName”、“InputArea”&#xff0c;请实现以下功能&#xff1a;读取Excel文件中的数据&#xff0c;去除重复的数据&#xff0c;并记录每个数…...

数据库管理-第194期 网络加速RDMA初探(20240526)

数据库管理194期 2024-05-26 数据库管理-第194期 网络加速RDMA初探&#xff08;20240526&#xff09;1 概念2 发展3 使用总结 数据库管理-第194期 网络加速RDMA初探&#xff08;20240526&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle ACE A…...

C++小游戏 合集

生化危机 #include<conio.h> #include<string.h> #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<time.h> #include<direct.h> int n,round,gold0; bool f1,f2,f3,deadfalse,PC_64Bit; char str[4]; struct n…...

【Python爬虫篇】Selenium在获取网页数据方面的使用及采集中国大学课程评论数据

1 selenium概述 1.什么是selenium&#xff1f; &#xff08;1&#xff09;Selenium是一个用于Web应用程序测试的工具。 &#xff08;2&#xff09;Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 &#xff08;3&#xff09;支持通过各种driver&#…...

【JavaScript】文件下载

文件下载的消息格式 服务器只要在响应头中加入 Content-Disposition: attachment; filename"kxx" 即可触发浏览器的下载功能其中&#xff1a; attachment 表示附件&#xff0c;浏览器看到此字段&#xff0c;触发下载行为&#xff08;不同的浏览器下载行为有所区别&…...

利用Python去除PDF水印

摘要 本文介绍了如何使用 Python 中的 PyMuPDF 和 OpenCV 库来从 PDF 文件中移除水印&#xff0c;并将每个页面保存为图像文件的方法。我们将深入探讨代码背后的工作原理&#xff0c;并提供一个简单的使用示例。 导言 简介&#xff1a;水印在许多 PDF 文件中都很常见&#x…...

Unity Assembly Definition Dotween 引用

原理&#xff1a; 具体Unity程序集原理用法&#xff0c;暂时留坑&#xff0c;不介绍了&#xff0c;相信有很多人也写过了 这里简单放个官方API链接 https://docs.unity3d.com/cn/current/Manual/ScriptCompilationAssemblyDefinitionFiles.html 现象 &#xff1a;Dotween引用…...

重开之数据结构(二刷)

引言: 由于前段时间学习效率不高,导致后面复习前面数据结构没有一个大纲,因此打算重新来学习以下数据结构,期望再次把数据结构学透,并有深刻的印象.并且记录每一次的学习记录 以便于后续复习 二分查找 需求:在有序数组arr内,查找target值 如果找到返回索引位置如果找不到返回…...

JVM(三)

在上一篇中&#xff0c;介绍了JVM组件中的类加载器&#xff0c;以及相关的双亲委派机制。这一篇主要介绍运行时的数据区域 JVM架构图&#xff1a; JDK1.8后的内存结构&#xff1a; (图片来源&#xff1a;https://github.com/Seazean/JavaNote) 而在运行时数据区域中&#…...

【二叉树】:LeetCode:100.相同的数(分治)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;初阶初阶结构刷题 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 1.问题描述&#xff1a; 2.问题分析&#xff1a; 二叉树是区分结构的&#xff0c;即左右子树是不一…...

[AI Google] 介绍 VideoFX,以及 ImageFX 和 MusicFX 的新功能

VideoFX 是来自 labs.google 的最新实验&#xff0c;您可以查看音乐效果和图像效果的新更新&#xff0c;现在在 110 多个国家可用。 生成式媒体正在改变人们构思创意并增强我们的创造力能力的方式。我们致力于与创作者和艺术家合作构建人工智能&#xff0c;以更好地理解这些生成…...

[7] CUDA之常量内存与纹理内存

CUDA之常量内存与纹理内存 1. 常量内存 NVIDIA GPU卡从逻辑上对用户提供了 64KB 的常量内存空间&#xff0c;可以用来存储内核执行期间所需要的恒定数据常量内存对一些特定情况下的小数据量的访问具有相比全局内存的额外优势&#xff0c;使用常量内存也一定程序上减少了对全局…...

python使用base加密解密

原理 base编码是一种加密解密措施&#xff0c;目前常用的有base16、base32和base64。其大致原理比较简单。 以base64为例&#xff0c;base64加密后共有64中字符。其加密过程是编码后将每3个字节作为一组&#xff0c;这样每组就有3*824位。将每6位作为一个单位进行编码&#xf…...

简述vue.mixin的使用场景和原理

Vue.mixin的使用场景 Vue.mixin是Vue的全局混入功能&#xff0c;它提供了一种非常灵活的方式来分发Vue组件中的可复用功能。使用Vue.mixin可以为Vue实例和组件添加全局的方法、属性、钩子函数等。具体的使用场景包括&#xff1a; 全局设置默认属性或方法&#xff1a;例如&…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...